#include using namespace std; int lang1, lang2; char player1[21]; int score1, score2; int val1, val2; char player2[21]; int gameNumber; char buffer[25]; int language(const char* lang){ switch (lang[0]){ case 'c' : return 0; break; case 'd' : return 3; break; case 'e' : if (lang[1] == 'n') return 1; else return 8; break; case 'f' : return 2; break; case 'h' : return 4; break; case 'i' : return 5; break; case 'j' : return 6; break; case 'p' : return 7; break; } return -1; } int value(const char* choice, int lang){ switch (lang){ case 0 : switch (choice[0]){ case 'K' : return 0; break; case 'N' : return 1; break; case 'P' : return 2; break; } break; case 1 : switch (choice[0]){ case 'R' : return 0; break; case 'S' : return 1; break; case 'P' : return 2; break; } break; case 2 : switch (choice[0]){ case 'P' : return 0; break; case 'C' : return 1; break; case 'F' : return 2; break; } break; case 3 : switch (choice[0]){ case 'S' : if (choice[1] == 't' ) return 0; else return 1; break; case 'P' : return 2; break; } break; case 4 : switch (choice[0]){ case 'K' : return 0; break; case 'O' : return 1; break; case 'P' : return 2; break; } break; case 5 : switch (choice[0]){ case 'S' : return 0; case 'R' : if (choice[1] == 'o') return 0; else return 2; break; case 'F' : return 1; break; case 'C' : return 2; break; } break; case 6 : switch (choice[0]){ case 'G' : return 0; break; case 'C' : return 1; break; case 'P' : return 2; break; } break; case 7 : switch (choice[0]){ case 'K' : return 0; break; case 'N' : return 1; break; case 'P' : return 2; break; } break; case 8 : switch (choice[0]){ case 'P' : if (choice[1] == 'i' ) return 0; else return 2; break; case 'T' : return 1; break; } break; } return -1; } int main(int argc, char* argv[]){ gameNumber = 1; cin >> buffer; while( buffer[0] != '.'){ score1 = score2 = 0; lang1 = language(buffer); cin >> player1; cin >> buffer; lang2 = language(buffer); cin >> player2; cin >> buffer; while ( buffer[0] != '-'){ if (buffer[0] == '.') break; val1 = value(buffer, lang1); cin >> buffer; val2 = value(buffer, lang2); if (val1 != val2){ if (((val1+1)%3) == val2) score1++; else score2++; } cin >> buffer; } cout << "Game #" << gameNumber << ":" << endl; cout << player1 << ": " << score1 << " point"; if (score1 != 1) cout << "s"; cout << endl; cout << player2 << ": " << score2 << " point"; if (score2 != 1) cout << "s"; cout << endl; if (score1 == score2) { cout << "TIED GAME" << endl; } else { cout << "WINNER: "; if (score1 > score2) cout << player1 << endl; else cout << player2 << endl; } cout << endl; score1 = score2 = 0; gameNumber++; if (buffer[0] != '.') cin >> buffer; } return 0; }