#include <iostream>
#include <cstdlib>
#include <string>
#include <cstring>
#define MAX_N 100001
#define BUFSIZE MAX_N*sizeof(int)
#define LOSS "PRZEGRANA"
#define WIN "WYGRANA"
#define DRAW "REMIS"
using namespace std;
int main(void) {
int t;
cin >> t;
int *lewy = (int*)malloc(BUFSIZE);
int *prawy = (int*)malloc(BUFSIZE);
int *prawy_hit = (int*)malloc(BUFSIZE);
for (int i = 0; i < t; i++){
int n;
int m;
int nl = 0;
int np = 0;
cin >> n >> m;
memset(lewy, 0, BUFSIZE);
memset(prawy, 0, BUFSIZE);
memset(prawy_hit, 0, BUFSIZE);
for(int j = 0; j < m; j++){
int l, p;
char z;
cin >> l >> z >> p;
if (z == '>'){
lewy[l]++;
if (lewy[l] == 1)
nl++;
prawy_hit[p]++;
} else {
prawy[p]++;
if (prawy[p] == 1)
np++;
}
}
if (np == n)
cout << LOSS << endl;
else if (nl < n)
cout << DRAW << endl;
else {
bool win = false;
for (int k = 1; k <= n; k++)
if (prawy_hit[k] == n) {
cout << WIN << endl;
win = true;
break;
}
if (!win)
cout << DRAW << endl;
}
}
free(lewy);
free(prawy);
free(prawy_hit);
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 59 60 61 62 63 64 65 66 | #include <iostream> #include <cstdlib> #include <string> #include <cstring> #define MAX_N 100001 #define BUFSIZE MAX_N*sizeof(int) #define LOSS "PRZEGRANA" #define WIN "WYGRANA" #define DRAW "REMIS" using namespace std; int main(void) { int t; cin >> t; int *lewy = (int*)malloc(BUFSIZE); int *prawy = (int*)malloc(BUFSIZE); int *prawy_hit = (int*)malloc(BUFSIZE); for (int i = 0; i < t; i++){ int n; int m; int nl = 0; int np = 0; cin >> n >> m; memset(lewy, 0, BUFSIZE); memset(prawy, 0, BUFSIZE); memset(prawy_hit, 0, BUFSIZE); for(int j = 0; j < m; j++){ int l, p; char z; cin >> l >> z >> p; if (z == '>'){ lewy[l]++; if (lewy[l] == 1) nl++; prawy_hit[p]++; } else { prawy[p]++; if (prawy[p] == 1) np++; } } if (np == n) cout << LOSS << endl; else if (nl < n) cout << DRAW << endl; else { bool win = false; for (int k = 1; k <= n; k++) if (prawy_hit[k] == n) { cout << WIN << endl; win = true; break; } if (!win) cout << DRAW << endl; } } free(lewy); free(prawy); free(prawy_hit); return 0; } |
English