#include <bits/stdc++.h>
using namespace std;
const int MAX_N = 100000;
int t, n, m, a, b;
char op;
int inDeg[MAX_N + 5], outDeg[MAX_N + 5];
bool canWin() {
for (int i = 1; i <= n; i++) {
if (inDeg[i] == n) {
return true;
}
}
return false;
}
bool canDraw() {
for (int i = 1; i <= n; i++) {
if (outDeg[i] == 0) {
return true;
}
}
return false;
}
int main() {
scanf("%d", &t);
while (t--) {
scanf("%d %d", &n, &m);
for (int i = 1; i <= n; i++) {
inDeg[i] = outDeg[i] = 0;
}
for (int i = 1; i <= m; i++) {
scanf("%d %c %d", &a, &op, &b);
if (op == '>') {
inDeg[b]++;
} else {
outDeg[b]++;
}
}
if (canWin()) {
printf("WYGRANA\n");
} else if (canDraw()) {
printf("REMIS\n");
} else {
printf("PRZEGRANA\n");
}
}
return 0;
}
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 | #include <bits/stdc++.h> using namespace std; const int MAX_N = 100000; int t, n, m, a, b; char op; int inDeg[MAX_N + 5], outDeg[MAX_N + 5]; bool canWin() { for (int i = 1; i <= n; i++) { if (inDeg[i] == n) { return true; } } return false; } bool canDraw() { for (int i = 1; i <= n; i++) { if (outDeg[i] == 0) { return true; } } return false; } int main() { scanf("%d", &t); while (t--) { scanf("%d %d", &n, &m); for (int i = 1; i <= n; i++) { inDeg[i] = outDeg[i] = 0; } for (int i = 1; i <= m; i++) { scanf("%d %c %d", &a, &op, &b); if (op == '>') { inDeg[b]++; } else { outDeg[b]++; } } if (canWin()) { printf("WYGRANA\n"); } else if (canDraw()) { printf("REMIS\n"); } else { printf("PRZEGRANA\n"); } } return 0; } |
English