#include <iostream> #include <string> #include <map> #include <unordered_map> #include <unordered_set> using namespace std; void solve (){ int n,m; cin >> n >> m; unordered_set<int> seen; unordered_map<int, int> counts; int seenc = 0; int maxc = 0; for(int i = 0 ; i < m; i ++){ int a ,b; char c; cin >> a >> c >> b; if(c == '>'){ counts[b] ++; maxc = max(counts[b], maxc); } if(c == '<'){ if(!seen.count(b)){ seen.insert(b); seenc++; } } } if (maxc == n){ cout << "WYGRANA" << endl; return; } if(seenc == n){ cout << "PRZEGRANA" << endl; return; } cout << "REMIS" << endl; } int main(){ int Ncases; cin >> Ncases; for(int a = 0; a < Ncases; a++){ solve(); } }
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 61 62 63 | #include <iostream> #include <string> #include <map> #include <unordered_map> #include <unordered_set> using namespace std; void solve (){ int n,m; cin >> n >> m; unordered_set<int> seen; unordered_map<int, int> counts; int seenc = 0; int maxc = 0; for(int i = 0 ; i < m; i ++){ int a ,b; char c; cin >> a >> c >> b; if(c == '>'){ counts[b] ++; maxc = max(counts[b], maxc); } if(c == '<'){ if(!seen.count(b)){ seen.insert(b); seenc++; } } } if (maxc == n){ cout << "WYGRANA" << endl; return; } if(seenc == n){ cout << "PRZEGRANA" << endl; return; } cout << "REMIS" << endl; } int main(){ int Ncases; cin >> Ncases; for(int a = 0; a < Ncases; a++){ solve(); } } |