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 <iostream>
using namespace std;
int x[100000][2],a[200000][2];
char z[200000];
int main()
{
	int i,j,n,m,t,mx0,mx1,l;
	cin>>t;
	for(j=0;j<t;j++){
		cin>>n>>m;
		mx0=0;
		mx1=0;
		for(i=0;i<n;i++) {
			x[i][0]=0;
			x[i][1]=0;
		}
	    for(i=0;i<m;i++){
	    	cin>>a[i][0]>>z[i]>>a[i][1];
	    	if(z[i]=='>') {x[a[i][0]-1][0]++; x[a[i][1]-1][1]--;}
	    	else {x[a[i][0]-1][1]++; x[a[i][1]-1][0]--;}
		}
		for(i=0;i<n;i++){
			if(x[i][0]>mx0) mx0=x[i][0];
			if(x[i][1]>mx1) mx1=x[i][1];
		} 
		for(i=0;i<n-1;i++){
			if(x[i][1]==mx1){
			 	for(int k=0;k<m;k++){
					if(z[k]=='<' && a[k][1]==i+1){
						x[a[k][0]-1][0]++;
					} 
				}
				mx1=0;
				for(l=0;l<n;l++) if(mx1<x[i][1]) mx1=x[i][1];
				x[i][1]=0;
				break;
		    }
			if(x[i][0]==mx0){
			 	for(int k=0;k<m;k++){
					if(z[k]=='>' && a[k][0]==i+1){
						x[a[k][1]-1][1]++;
					} 
				}
				mx0=0;
				for(l=0;l<n;l++) if(mx1<x[i][1]) mx1=x[i][1];
				x[i][0]=0;
				break;
		    }
		    
		}
		for(i=0;i<n;i++){
			if(x[i][0]>mx0) mx0=x[i][0];
			if(x[i][1]>mx1) mx1=x[i][1];
		}
		if(mx0>mx1) cout<<"WYGRANA"<<endl;
		if(mx0==mx1) cout<<"REMIS"<<endl;
		if(mx0<mx1) cout<<"PRZEGRANA"<<endl; 
    }
    return 0;
}