#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