#include <stdio.h> #include <stdlib.h> #include <stdint.h> #define OPTIONS_NO 3 #define DAYS_NO 5 uint8_t** malloc_table() { uint8_t** table = (uint8_t**) malloc(sizeof(uint8_t*) * OPTIONS_NO); for(uint8_t i = 0; i < OPTIONS_NO; ++i) { table[i] = (uint8_t*) malloc(sizeof(uint8_t) * DAYS_NO); for(uint8_t j = 0; j < DAYS_NO; ++j) { table[i][j] = 0; } } return table; } void free_table(uint8_t** table) { for(uint8_t i = 0; i < OPTIONS_NO; ++i) { free(table[i]); } free(table); } int main(void) { uint8_t n; scanf("%u", &n); char* buffer = (char*) malloc(sizeof(char) * 2); uint8_t** table = malloc_table(); uint8_t i, j; char answer = 1; while(n--) { scanf("%s", buffer); i = buffer[1] - 'A'; j = buffer[0] - '1'; table[i][j]++; } for(uint8_t i = 0; i < OPTIONS_NO; ++i) { for(uint8_t j = 0; j < DAYS_NO; ++j) { if (table[i][j] == 0) { answer = 0; break; } else if (j == 4 && table[i][j] == 1) { answer = 0; break; } } if (!answer) { break; } } if (answer) { printf("TAK"); } else { printf("NIE"); } free(buffer); free_table(table); }
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 | #include <stdio.h> #include <stdlib.h> #include <stdint.h> #define OPTIONS_NO 3 #define DAYS_NO 5 uint8_t** malloc_table() { uint8_t** table = (uint8_t**) malloc(sizeof(uint8_t*) * OPTIONS_NO); for(uint8_t i = 0; i < OPTIONS_NO; ++i) { table[i] = (uint8_t*) malloc(sizeof(uint8_t) * DAYS_NO); for(uint8_t j = 0; j < DAYS_NO; ++j) { table[i][j] = 0; } } return table; } void free_table(uint8_t** table) { for(uint8_t i = 0; i < OPTIONS_NO; ++i) { free(table[i]); } free(table); } int main(void) { uint8_t n; scanf("%u", &n); char* buffer = (char*) malloc(sizeof(char) * 2); uint8_t** table = malloc_table(); uint8_t i, j; char answer = 1; while(n--) { scanf("%s", buffer); i = buffer[1] - 'A'; j = buffer[0] - '1'; table[i][j]++; } for(uint8_t i = 0; i < OPTIONS_NO; ++i) { for(uint8_t j = 0; j < DAYS_NO; ++j) { if (table[i][j] == 0) { answer = 0; break; } else if (j == 4 && table[i][j] == 1) { answer = 0; break; } } if (!answer) { break; } } if (answer) { printf("TAK"); } else { printf("NIE"); } free(buffer); free_table(table); } |