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