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
#include <iostream>

using namespace std;

const short TYPY=26,LITERA=97;

void Zliczanie(int Parzystosc[][2],int n)
{
    char x;
    for(int i=0; i<n; i++){
        cin>>x;
        if(i%2==0) Parzystosc[x-LITERA][0]++;
        else Parzystosc[x-LITERA][1]++;
    }
}

int main(void)
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);

    int n,i;
    cin>>n;
    int Parzystosc1[TYPY][2], Parzystosc2[TYPY][2];//ile na miejscu parzystym (0) i ile na nieparzystym (1)
    for(i=0; i<TYPY; i++){
        for(int j=0; j<2; j++) Parzystosc1[i][j]=Parzystosc2[i][j]=0;
    }
    Zliczanie(Parzystosc1,n);
    Zliczanie(Parzystosc2,n);
    for(i=0; i<TYPY; i++){
        if(Parzystosc1[i][0]!=Parzystosc2[i][0] || Parzystosc1[i][1]!=Parzystosc2[i][1]){//jesli jest inna ilosc liter o tej samej parzystosci (zawiera to przypadek, kiedy jest inna ilosc danych liter tak ogolnie)
            cout<<"NIE\n";
            return 0;
        }
    }
    cout<<"TAK\n";
}