#include "Sunnygraphs.cpp" int main(int argc, char **argv) { int i; class Sunnygraphs TheClass; long long retval; vector a; if (argc != 2) { fprintf(stderr, "usage: a.out num\n"); exit(1); } /* a = ; */ if (atoi(argv[1]) == 0) { /* 0 -> 1 -> 0. The answer is 2^2 = 4. */ a.push_back(1); a.push_back(0); } if (atoi(argv[1]) == 1) { /* Cycle: 0 -> 2 -> 0. Path 1 -> 2. Answer is ... */ a.push_back(2); a.push_back(2); a.push_back(0); } if (atoi(argv[1]) == 2) { a.push_back(2); a.push_back(3); a.push_back(0); a.push_back(1); } if (atoi(argv[1]) == 3) { a.push_back(2); a.push_back(2); a.push_back(3); a.push_back(4); a.push_back(3); } if (atoi(argv[1]) == 4) { a.push_back(18); a.push_back(18); a.push_back(20); a.push_back(28); a.push_back(7); a.push_back(27); a.push_back(8); a.push_back(13); a.push_back(40); a.push_back(3); a.push_back(7); a.push_back(21); a.push_back(30); a.push_back(17); a.push_back(13); a.push_back(34); a.push_back(29); a.push_back(16); a.push_back(15); a.push_back(11); a.push_back(0); a.push_back(9); a.push_back(39); a.push_back(36); a.push_back(38); a.push_back(23); a.push_back(24); a.push_back(8); a.push_back(4); a.push_back(9); a.push_back(29); a.push_back(22); a.push_back(35); a.push_back(5); a.push_back(13); a.push_back(23); a.push_back(3); a.push_back(27); a.push_back(34); a.push_back(23); a.push_back(8); } if (atoi(argv[1]) == 5) { /* Cycle is 0 -> 2 -> 1 -> 5 -> 0 Paths: 3 -> 0 6 -> 1 7 -> 4 -> 2 8 -> 4 Answer is 32 * 16 = 512 */ a.push_back(2); a.push_back(5); a.push_back(1); a.push_back(0); a.push_back(2); a.push_back(0); a.push_back(1); a.push_back(4); a.push_back(4); } if (atoi(argv[1]) == 6) { /* Cycle: 2 -> 4 -> 2, and 5 -> 7 -> 5 Paths: 3 -> 0 -> 2 1 -> 6 -> 5 8 -> 7 Answer is 4 * (7*15) = 420 */ a.push_back(2); a.push_back(6); a.push_back(4); a.push_back(0); a.push_back(2); a.push_back(7); a.push_back(5); a.push_back(5); a.push_back(7); } if (atoi(argv[1]) == 7) { /* Cycle: 0 -> 2 -> 6 -> 5 Paths: 3 -> 0 1 -> 7 -> 4 -> 2 Answer is 2 * (16 + (7*15)) = 242 */ a.push_back(2); a.push_back(7); a.push_back(6); a.push_back(0); a.push_back(2); a.push_back(0); a.push_back(5); a.push_back(4); } if (atoi(argv[1]) == 8) { /* Cycle: 1 -> 2 -> 6 -> 5 Paths: 3 -> 1 0 -> 7 -> 4 -> 2 Answer is 2 * (16 + (7*15)) = 242 */ a.push_back(7); a.push_back(2); a.push_back(6); a.push_back(1); a.push_back(2); a.push_back(1); a.push_back(5); a.push_back(4); } if (atoi(argv[1])== 9) { /* Cycle: 5 -> 6 -> 8 -> 9 -> 5 Paths: 1 -> 2 -> 3 -> 4 -> 5 Paths: 0 -> 7 -> 6 Paths: 10 -> 9 Answer should be: 2 ( 16 + 3*15 + 15*63) = 2012 2 ( 16 + 15x15 + 3x256 ) = 2012 */ a.push_back(7); a.push_back(2); a.push_back(3); a.push_back(4); a.push_back(5); a.push_back(6); a.push_back(8); a.push_back(6); a.push_back(9); a.push_back(5); a.push_back(9); } if (atoi(argv[1])== 10) { /* Cycle: 5 -> 6 -> 8 -> 9 -> 5 Paths: 1 -> 2 -> 3 -> 4 -> 5 Paths: 0 -> 7 -> 4 Paths: 10 -> 9 Answer should be: 2 ( 32 + 7x31 + 3x255 ) = 2028 */ a.push_back(7); a.push_back(2); a.push_back(3); a.push_back(4); a.push_back(5); a.push_back(6); a.push_back(8); a.push_back(4); a.push_back(9); a.push_back(5); a.push_back(9); } if (atoi(argv[1])== 11) { /* Cycle: 5 -> 6 -> 8 -> 9 -> 5 Paths: 0 -> 7 -> 11 -> 1 -> 2 -> 3 -> 4 -> 5 10 -> 9 Answer is (2)((256 + (7*255)) = 4082 */ a.push_back(7); a.push_back(2); a.push_back(3); a.push_back(4); a.push_back(5); a.push_back(6); a.push_back(8); a.push_back(11); a.push_back(9); a.push_back(5); a.push_back(9); a.push_back(1); } if (atoi(argv[1])== 12) { /* Cycle: 5 -> 6 -> 8 -> 9 -> 5 Paths: 1 -> 7 -> 11 -> 0 -> 2 -> 3 -> 4 -> 5 10 -> 9 Answer is (2)((256 + (7*255)) = 4082 */ a.push_back(2); a.push_back(7); a.push_back(3); a.push_back(4); a.push_back(5); a.push_back(6); a.push_back(8); a.push_back(11); a.push_back(9); a.push_back(5); a.push_back(9); a.push_back(0); } retval = TheClass.count(a); cout << retval << endl; exit(0); }