#include <iostream>
#include <cstdio>
#include <algorithm>
#include <utility>
using namespace std;
pair<pair<int, int>, int> a[100010], b[100010];
int c[200010], d[200010], e[100010];
char x[200010];
int main(){
	int m, n,t, w;
	scanf("%d", &t);
	for (int i = 1; i <= t; i++){
		scanf("%d %d", &m, &n);
		for (int j = 1; j <= m; j++){
			e[j] = 1;
			a[j] = make_pair(make_pair(0, m), j);
			b[j] = make_pair(make_pair(0, m), j);
		}
		for (int j = 1; j <= n; j++){
			scanf("%d %c %d", &c[j], &x[j], &d[j]);
			if (x[j] == '<')
				b[d[j]].first.first++;
			else
				a[c[j]].first.first++;
			b[d[j]].first.second--;
			a[c[j]].first.second--;
		}
		sort(a + 1, a + m + 1);
		sort(b + 1, b + m + 1);
		w = 2;
		for (int j = 1; j <= n; j++){
			if (d[j] == b[1].second){
				if (x[j] == '>'){
					e[c[j]] = 2;
				}
				else
					e[c[j]] = 0;
			}
		}
		int t = 1;
		while ((a[1].first.first == a[t].first.first) && (a[1].first.second == a[t].first.second)){
			w = min(w, e[a[t].second]);
			t++;
		}
		if (w == 1){
			printf("REMIS\n");
		}
		else{
			if (w == 2){
				printf("WYGRANA\n");
			}
			else{
				printf("PRZEGRANA\n");
			}
		}
	}
	system("pause");
}
        | 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 | #include <iostream> #include <cstdio> #include <algorithm> #include <utility> using namespace std; pair<pair<int, int>, int> a[100010], b[100010]; int c[200010], d[200010], e[100010]; char x[200010]; int main(){ int m, n,t, w; scanf("%d", &t); for (int i = 1; i <= t; i++){ scanf("%d %d", &m, &n); for (int j = 1; j <= m; j++){ e[j] = 1; a[j] = make_pair(make_pair(0, m), j); b[j] = make_pair(make_pair(0, m), j); } for (int j = 1; j <= n; j++){ scanf("%d %c %d", &c[j], &x[j], &d[j]); if (x[j] == '<') b[d[j]].first.first++; else a[c[j]].first.first++; b[d[j]].first.second--; a[c[j]].first.second--; } sort(a + 1, a + m + 1); sort(b + 1, b + m + 1); w = 2; for (int j = 1; j <= n; j++){ if (d[j] == b[1].second){ if (x[j] == '>'){ e[c[j]] = 2; } else e[c[j]] = 0; } } int t = 1; while ((a[1].first.first == a[t].first.first) && (a[1].first.second == a[t].first.second)){ w = min(w, e[a[t].second]); t++; } if (w == 1){ printf("REMIS\n"); } else{ if (w == 2){ printf("WYGRANA\n"); } else{ printf("PRZEGRANA\n"); } } } system("pause"); } | 
 
            
         English
                    English