2011-12-20 06:30:12
地址:http://acm.hdu.edu.cn/showproblem.php?pid=2519
题意:中文。其实就是算组合数。
mark:即使是long long,算阶乘也只能算到20!,因此用杨辉三角比较简单。
代码:
# include <stdio.h>
int c[31][31] ;
void init()
{
int i, j ;
c[0][0] = 1 ;
for (i = 1 ; i <= 30 ; i++)
{
c[i][0] = 1 ;
for (j = 1 ; j <= i ; j++)
c[i][j] = c[i-1][j] + c[i-1][j-1] ;
}
}
int main ()
{
int T, a, b ;
init() ;
scanf ("%d", &T) ;
while (T--)
{
scanf ("%d%d", &a, &b) ;
printf ("%d\n", c[a][b]) ;
}
return 0 ;
}