#include <iostream> #include <queue> #include <map> using namespace std; int liczba_tali, liczba_zaleznosci; bool moja_kogos_dominuje[100000+1][2]; int przez_ile_jestem_dominowany_z_1[100000+1]; void wczytaj() { cin >> liczba_tali >> liczba_zaleznosci; for(int i =0 ; i <= liczba_tali; ++i) { moja_kogos_dominuje[i][0] = false; moja_kogos_dominuje[i][1] = false; przez_ile_jestem_dominowany_z_1[i] = 0; } for(int i = 0; i < liczba_zaleznosci; ++i) { int a, b; char c; cin >> a >> c >> b; if(c == '>') { moja_kogos_dominuje[a][0] = true; przez_ile_jestem_dominowany_z_1[b]++; } else { moja_kogos_dominuje[b][1] = true; } } } void oblicz() { int ile_roznych_dominuje_z_1 = 0; int ile_roznych_dominuje_z_2 = 0; bool jest_dominowany_przez_wszystkich = false; for(int i = 1; i <= liczba_tali; ++i) { if(moja_kogos_dominuje[i][0]) { ile_roznych_dominuje_z_1++; } if(moja_kogos_dominuje[i][1]) { ile_roznych_dominuje_z_2++; } if(przez_ile_jestem_dominowany_z_1[i] == liczba_tali) { jest_dominowany_przez_wszystkich = true; } } if(ile_roznych_dominuje_z_2 == liczba_tali) { cout << "PRZEGRANA" << endl; } else if(ile_roznych_dominuje_z_1 == liczba_tali && jest_dominowany_przez_wszystkich) { cout << "WYGRANA" << endl; } else { cout << "REMIS" << endl; } } int main() { ios_base::sync_with_stdio(false); int a; cin >> a; for(int i = 0; i < a; ++i) { wczytaj(); oblicz(); } 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 75 76 77 | #include <iostream> #include <queue> #include <map> using namespace std; int liczba_tali, liczba_zaleznosci; bool moja_kogos_dominuje[100000+1][2]; int przez_ile_jestem_dominowany_z_1[100000+1]; void wczytaj() { cin >> liczba_tali >> liczba_zaleznosci; for(int i =0 ; i <= liczba_tali; ++i) { moja_kogos_dominuje[i][0] = false; moja_kogos_dominuje[i][1] = false; przez_ile_jestem_dominowany_z_1[i] = 0; } for(int i = 0; i < liczba_zaleznosci; ++i) { int a, b; char c; cin >> a >> c >> b; if(c == '>') { moja_kogos_dominuje[a][0] = true; przez_ile_jestem_dominowany_z_1[b]++; } else { moja_kogos_dominuje[b][1] = true; } } } void oblicz() { int ile_roznych_dominuje_z_1 = 0; int ile_roznych_dominuje_z_2 = 0; bool jest_dominowany_przez_wszystkich = false; for(int i = 1; i <= liczba_tali; ++i) { if(moja_kogos_dominuje[i][0]) { ile_roznych_dominuje_z_1++; } if(moja_kogos_dominuje[i][1]) { ile_roznych_dominuje_z_2++; } if(przez_ile_jestem_dominowany_z_1[i] == liczba_tali) { jest_dominowany_przez_wszystkich = true; } } if(ile_roznych_dominuje_z_2 == liczba_tali) { cout << "PRZEGRANA" << endl; } else if(ile_roznych_dominuje_z_1 == liczba_tali && jest_dominowany_przez_wszystkich) { cout << "WYGRANA" << endl; } else { cout << "REMIS" << endl; } } int main() { ios_base::sync_with_stdio(false); int a; cin >> a; for(int i = 0; i < a; ++i) { wczytaj(); oblicz(); } return 0; } |