系統起笑了嗎 為什麼一直W(Line:4) 在我的電腦上測明明就對
#include <stdio.h> unsigned int array[20001][20001]; unsigned int n,k=1; /*C(N,R)=C(N-1,R)+C(N-1,R-1)*/ unsigned int CB( int N , int R ) { if (N >= 0 && R >=0 && N <= 20000 && R <= 20000 ) { if (array[N][R] != 0) { return array[N][R]; } else { return array[N][R]=CB(N-1,R)+CB(N-1,R-1); } } else { return 0; } } int main() { int i=0; array[1][0]=1; array[1][1]=1; array[2][0]=1; array[2][1]=2; array[2][2]=1; while(EOF != scanf("%d %d",&n,&k)) { //i++; if (i == 4) { printf("%d|%d",k,n); } if (n== 0 && k ==0) { break; } if ( k > (n-k)) { k = n-k; } /**/ printf("%d\n",CB(n,k)); } return 0; } |
第四組case: 2000000000 0
我試你的程式是0
正確答案是1沒錯
我用的是VC.Net2008
另外第五組case: 2000000000 1
你的程式是0
正確答案是2000000000