CodeChef submission 1475 (C++ 4.0.0-8) plaintext list. Status: AC, problem MARBLES, contest . By admin (Directi Admin), 2009-02-22 20:40:52.
// Adrian Kosowski, 2004 #include <stdio.h> #define BASE 1000000000 const long len = 10; class giantint { private: int val[len]; public: giantint (int num) { for (int i=1; i<len; i++) val[i]=0; val[0]=num; }; void mul(int num) { int rem = 0; for (int i=0; i<len; i++) { long long res = (long long)val[i]*num+rem; val[i]=res%BASE; rem=res/BASE; } } { int rem = 0; for (int i=len-1; i>=0; i--) { long long res = (long long)val[i]+(long long)BASE*rem; rem = res%num; val[i]=res/num; } } void print (void) { long flag=0; for (long i=len-1; i>=0; i--) { if (flag) if (val[i]) flag=1; } }; }; /////////////////////////////////////////////////////////////////////////////// int main (void) { int t; while (t--) { int n, k; n--; k--; if (k<=n/2) k=n-k; giantint p(1); for (int i=k+1; i<=n; i++) p.mul(i); for (int i=2; i<=n-k; i++) p.div(i); p.print(); } }
Comments


a very silly question ...but
a very silly question ...but m not getn it....hw lng wil this while loop run ?? t-- .......is it an infinite loop??