#include <stdio.h> #include <stdint.h> #include <stdlib.h> #define LETTERS_NO 26 int main(void) { int32_t* even = (int32_t*) malloc(sizeof(int32_t) * LETTERS_NO); int32_t* odd = (int32_t*) malloc(sizeof(int32_t) * LETTERS_NO); for(uint32_t i = 0; i < LETTERS_NO; ++i) { odd[i] = 0; even[i] = 0; } uint32_t letters; char buffer; scanf("%u", &letters); scanf("%c", &buffer); for (uint32_t i = 0; i < letters; ++i) { scanf("%c", &buffer); if (i & 1) even[buffer - 'a']++; else odd[buffer - 'a']++; } scanf("%c", &buffer); for (uint32_t i = 0; i < letters; ++i) { scanf("%c", &buffer); if (i & 1) even[buffer - 'a']--; else odd[buffer - 'a']--; } char flag = 1; for(uint32_t i = 0; i < LETTERS_NO; ++i) { if (odd[i] || even[i]) { flag = 0; break; } } if (flag) printf("TAK"); else printf("NIE"); free(even); free(odd); }
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 | #include <stdio.h> #include <stdint.h> #include <stdlib.h> #define LETTERS_NO 26 int main(void) { int32_t* even = (int32_t*) malloc(sizeof(int32_t) * LETTERS_NO); int32_t* odd = (int32_t*) malloc(sizeof(int32_t) * LETTERS_NO); for(uint32_t i = 0; i < LETTERS_NO; ++i) { odd[i] = 0; even[i] = 0; } uint32_t letters; char buffer; scanf("%u", &letters); scanf("%c", &buffer); for (uint32_t i = 0; i < letters; ++i) { scanf("%c", &buffer); if (i & 1) even[buffer - 'a']++; else odd[buffer - 'a']++; } scanf("%c", &buffer); for (uint32_t i = 0; i < letters; ++i) { scanf("%c", &buffer); if (i & 1) even[buffer - 'a']--; else odd[buffer - 'a']--; } char flag = 1; for(uint32_t i = 0; i < LETTERS_NO; ++i) { if (odd[i] || even[i]) { flag = 0; break; } } if (flag) printf("TAK"); else printf("NIE"); free(even); free(odd); } |