#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; } |