#include <cstdio> #include <unordered_set> using namespace std; const int M_MAX = 200000; const int N_MAX = 100000; int main() { int t; scanf("%d", &t); for(int i = 0; i < t; i++) { bool bajtek = true; bool bitek = true; bool bajtekToWin[N_MAX]; unordered_set<int> bajtekUsed; unordered_set<int> bitekUsed; int n, m; scanf("%d %d", &n, &m); int j = 0; while (j < m && (bajtek || bitek)) { int a, b; char c; scanf("%d %c %d", &a, &c, &b); if(c == '>') { bitek = false; unordered_set<int>::const_iterator got = bajtekUsed.find(a); if (got != bajtekUsed.end()) bajtek = false; else bajtekUsed.insert(a); } else { bajtek = false; unordered_set<int>::const_iterator got = bitekUsed.find(b); if (got != bajtekUsed.end()) bitek = false; else bitekUsed.insert(b); } j++; } if(!bitek) { if (bajtek) printf("WYGRANA\n"); else printf("REMIS\n"); } else { printf("PRZEGRANA\n"); } } }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | #include <cstdio> #include <unordered_set> using namespace std; const int M_MAX = 200000; const int N_MAX = 100000; int main() { int t; scanf("%d", &t); for(int i = 0; i < t; i++) { bool bajtek = true; bool bitek = true; bool bajtekToWin[N_MAX]; unordered_set<int> bajtekUsed; unordered_set<int> bitekUsed; int n, m; scanf("%d %d", &n, &m); int j = 0; while (j < m && (bajtek || bitek)) { int a, b; char c; scanf("%d %c %d", &a, &c, &b); if(c == '>') { bitek = false; unordered_set<int>::const_iterator got = bajtekUsed.find(a); if (got != bajtekUsed.end()) bajtek = false; else bajtekUsed.insert(a); } else { bajtek = false; unordered_set<int>::const_iterator got = bitekUsed.find(b); if (got != bajtekUsed.end()) bitek = false; else bitekUsed.insert(b); } j++; } if(!bitek) { if (bajtek) printf("WYGRANA\n"); else printf("REMIS\n"); } else { printf("PRZEGRANA\n"); } } } |