#include <cstdio> #include <vector> #include <set> #include <algorithm> #define MAX_N 100010 using namespace std; //#define pii pair<int, int> //vector<int> vout_a[MAX_N]; //vector<int> vin_a[MAX_N]; vector<int> vout_b[MAX_N]; vector<int> vin_b[MAX_N]; vector<int> b_outdeg; vector<int> b_indeg; int main() { int t; scanf("%d", &t); while (t--) { int n, m; scanf("%d%d", &n, &m); for (int i = 0; i < n; i++) { //vin_a[i].clear(); vin_b[i].clear(); //vout_a[i].clear(); vout_b[i].clear(); } b_outdeg.clear(); b_indeg.clear(); int a, b; char w; for (int i = 0; i < m; i++) { scanf("%d%*c%c%d", &a, &w, &b); a--; b--; if (w == '>') { //vout_a[a].push_back(b); vin_b[b].push_back(a); } else { //vin_a[a].push_back(b); vout_b[b].push_back(a); } } for (int i = 0; i < n; i++) { b_outdeg.push_back(vout_b[i].size()); b_indeg.push_back(vin_b[i].size()); } sort(b_outdeg.begin(), b_outdeg.end()); //for (int i = 0; i < n; i++) { //printf("vb:%d b_outdeg:%d\n", b_outdeg[i].first, b_outdeg[i].second); //} sort(b_indeg.begin(), b_indeg.end()); //for (int i = 0; i < n; i++) { //printf("vb:%d b_indeg:%d\n", b_indeg[i].first, b_indeg[i].second); //} bool na_pewno_przegrana = b_outdeg[0] > 0; bool przynajmniej_remis = !na_pewno_przegrana; bool na_pewno_wygrana = b_indeg[n - 1] == n; if (na_pewno_przegrana) { printf("PRZEGRANA\n"); } else if (na_pewno_wygrana) { printf("WYGRANA\n"); } else { printf("REMIS\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 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 | #include <cstdio> #include <vector> #include <set> #include <algorithm> #define MAX_N 100010 using namespace std; //#define pii pair<int, int> //vector<int> vout_a[MAX_N]; //vector<int> vin_a[MAX_N]; vector<int> vout_b[MAX_N]; vector<int> vin_b[MAX_N]; vector<int> b_outdeg; vector<int> b_indeg; int main() { int t; scanf("%d", &t); while (t--) { int n, m; scanf("%d%d", &n, &m); for (int i = 0; i < n; i++) { //vin_a[i].clear(); vin_b[i].clear(); //vout_a[i].clear(); vout_b[i].clear(); } b_outdeg.clear(); b_indeg.clear(); int a, b; char w; for (int i = 0; i < m; i++) { scanf("%d%*c%c%d", &a, &w, &b); a--; b--; if (w == '>') { //vout_a[a].push_back(b); vin_b[b].push_back(a); } else { //vin_a[a].push_back(b); vout_b[b].push_back(a); } } for (int i = 0; i < n; i++) { b_outdeg.push_back(vout_b[i].size()); b_indeg.push_back(vin_b[i].size()); } sort(b_outdeg.begin(), b_outdeg.end()); //for (int i = 0; i < n; i++) { //printf("vb:%d b_outdeg:%d\n", b_outdeg[i].first, b_outdeg[i].second); //} sort(b_indeg.begin(), b_indeg.end()); //for (int i = 0; i < n; i++) { //printf("vb:%d b_indeg:%d\n", b_indeg[i].first, b_indeg[i].second); //} bool na_pewno_przegrana = b_outdeg[0] > 0; bool przynajmniej_remis = !na_pewno_przegrana; bool na_pewno_wygrana = b_indeg[n - 1] == n; if (na_pewno_przegrana) { printf("PRZEGRANA\n"); } else if (na_pewno_wygrana) { printf("WYGRANA\n"); } else { printf("REMIS\n"); } } return 0; } |