#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(); } } |
English