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