//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; } |
English