//Zadanie: Zapawki //Potyczki algorytmiczne 2020 //autor: AT //Pomysl: //Przy zamianach proponowanych w zadaniu znaki na miejscach parzystych moga byc tylko na miejscach parzystych //a znaki na miejscach nieparzystych mogą być zamienione tylko ze znakami na nieparzystych #include <iostream> #include <string> #include <algorithm> using namespace std; int main() { int n; cin >> n; string poczatek; string koniec; string poczatek_parzysty = ""; string poczatek_nieparzysty = ""; string koniec_parzysty = ""; string koniec_nieparzysty = ""; cin >> poczatek; cin >> koniec; for(unsigned int i = 0; i < poczatek.length(); i += 2) { poczatek_parzysty += poczatek[i]; } for(unsigned int i = 1; i < poczatek.length(); i += 2) { poczatek_nieparzysty += poczatek[i]; } for(unsigned int i = 0; i < koniec.length(); i += 2) { koniec_parzysty += koniec[i]; } for(unsigned int i = 1; i < koniec.length(); i += 2) { koniec_nieparzysty += koniec[i]; } //cout << poczatek_nieparzysty << endl; //cout << koniec_nieparzysty << endl; // cout << poczatek_parzysty << endl; //cout << koniec_parzysty << endl; // cout << "Po posortowaniu " << endl; sort(poczatek_nieparzysty.begin(), poczatek_nieparzysty.begin() + poczatek_nieparzysty.length()); //cout << poczatek_nieparzysty << endl; sort(koniec_nieparzysty.begin(), koniec_nieparzysty.begin() + koniec_nieparzysty.length()); //cout << koniec_nieparzysty << endl; sort(poczatek_parzysty.begin(), poczatek_parzysty.begin() + poczatek_parzysty.length()); //cout << poczatek_parzysty << endl; sort(koniec_parzysty.begin(), koniec_parzysty.begin() + koniec_parzysty.length()); //cout << koniec_parzysty << endl; if(poczatek_parzysty == koniec_parzysty and poczatek_nieparzysty == koniec_nieparzysty) cout << "TAK"; else cout << "NIE"; 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 | //Zadanie: Zapawki //Potyczki algorytmiczne 2020 //autor: AT //Pomysl: //Przy zamianach proponowanych w zadaniu znaki na miejscach parzystych moga byc tylko na miejscach parzystych //a znaki na miejscach nieparzystych mogą być zamienione tylko ze znakami na nieparzystych #include <iostream> #include <string> #include <algorithm> using namespace std; int main() { int n; cin >> n; string poczatek; string koniec; string poczatek_parzysty = ""; string poczatek_nieparzysty = ""; string koniec_parzysty = ""; string koniec_nieparzysty = ""; cin >> poczatek; cin >> koniec; for(unsigned int i = 0; i < poczatek.length(); i += 2) { poczatek_parzysty += poczatek[i]; } for(unsigned int i = 1; i < poczatek.length(); i += 2) { poczatek_nieparzysty += poczatek[i]; } for(unsigned int i = 0; i < koniec.length(); i += 2) { koniec_parzysty += koniec[i]; } for(unsigned int i = 1; i < koniec.length(); i += 2) { koniec_nieparzysty += koniec[i]; } //cout << poczatek_nieparzysty << endl; //cout << koniec_nieparzysty << endl; // cout << poczatek_parzysty << endl; //cout << koniec_parzysty << endl; // cout << "Po posortowaniu " << endl; sort(poczatek_nieparzysty.begin(), poczatek_nieparzysty.begin() + poczatek_nieparzysty.length()); //cout << poczatek_nieparzysty << endl; sort(koniec_nieparzysty.begin(), koniec_nieparzysty.begin() + koniec_nieparzysty.length()); //cout << koniec_nieparzysty << endl; sort(poczatek_parzysty.begin(), poczatek_parzysty.begin() + poczatek_parzysty.length()); //cout << poczatek_parzysty << endl; sort(koniec_parzysty.begin(), koniec_parzysty.begin() + koniec_parzysty.length()); //cout << koniec_parzysty << endl; if(poczatek_parzysty == koniec_parzysty and poczatek_nieparzysty == koniec_nieparzysty) cout << "TAK"; else cout << "NIE"; return 0; } |