#include #include #include #include "SplitStoneGame.cpp" using namespace std; int main(int argc, char **argv) { int i; class SplitStoneGame TheClass; string retval; vector number; int n; double perc; if (argc != 2) { fprintf(stderr, "usage: a.out num (or - to enter stones on stdin)\n"); exit(1); } if ((string) argv[1] == "-") { while (cin >> i) number.push_back(i); } else { if (atoi(argv[1]) == 0) { number.push_back(1); number.push_back( 1); number.push_back( 1); } if (atoi(argv[1]) == 1) { number.push_back(2); number.push_back( 2); } if (atoi(argv[1]) == 2) { number.push_back(1); number.push_back( 1); number.push_back( 2); } if (atoi(argv[1]) == 3) { number.push_back(1); number.push_back( 2); number.push_back( 3); number.push_back( 4); number.push_back( 3); number.push_back( 2); number.push_back( 2); number.push_back( 4); number.push_back( 3); number.push_back( 1); number.push_back( 4); number.push_back( 4); number.push_back( 1); number.push_back( 2); number.push_back( 4); number.push_back( 4); number.push_back( 1); number.push_back( 4); number.push_back( 3); number.push_back( 1); number.push_back( 4); number.push_back( 2); number.push_back( 1); } if (atoi(argv[1]) == 4) { number.push_back(1); number.push_back( 1); number.push_back( 1); number.push_back( 1); number.push_back( 1); number.push_back( 1); number.push_back( 1); number.push_back( 1); number.push_back( 1); number.push_back( 1); number.push_back( 2); number.push_back( 1); number.push_back( 1); number.push_back( 1); number.push_back( 3); number.push_back( 1); number.push_back( 9); number.push_back( 1); number.push_back( 3); number.push_back( 1); number.push_back( 1); number.push_back( 1); number.push_back( 1); number.push_back( 1); } if (atoi(argv[1]) == 5) { number.push_back(1); number.push_back( 2); number.push_back( 50); } if (atoi(argv[1]) > 5) { n = (atoi(argv[1])%1000+1); srand48(atoi(argv[1])); perc=drand48()/2; for (i = 0; i < n; i++) { if (drand48() > perc) { number.push_back(1); } else { number.push_back(drand48()*49+2); } } } } retval = TheClass.winOrLose(number); cout << retval << endl; exit(0); }