#include <iostream>
#include <stdlib.h>
#include <string>
using namespace std;
bool sumTab(int tab[])
{
int sum = 0;
for (int i = 0; i < 15; i++)
sum += tab[i];
if (sum == 18)
return true;
return false;
}
int addToTab(int tab[],string x)
{
int zad, podzad,odp;
zad = int(x[0]) - 48;
switch (x[1]){
case 'A':
{podzad = 0; }break;
case 'B':
{podzad = 1; }break;
case 'C':
{podzad = 2; }break;
}
if (zad == 5) {
odp = 12 + podzad;
if (tab[odp] < 2)
return odp;
}
else {
odp = ((zad - 1) * 3) + podzad;
if (tab[odp] < 1)
return odp;
}
return -1;
}
int main()
{
int n,odp;
cin >> n;
int tab[15] = {0,0,0, 0,0,0, 0,0,0, 0,0,0, 0,0,0};
bool answer = false;
string x;
for (int i = 0; i < n; i++)
{
cin >> x;
odp = addToTab(tab, x);
if (odp != -1)
tab[odp]++;
if (sumTab(tab)){
answer = true;
break;
}
}
if (answer)
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 | #include <iostream> #include <stdlib.h> #include <string> using namespace std; bool sumTab(int tab[]) { int sum = 0; for (int i = 0; i < 15; i++) sum += tab[i]; if (sum == 18) return true; return false; } int addToTab(int tab[],string x) { int zad, podzad,odp; zad = int(x[0]) - 48; switch (x[1]){ case 'A': {podzad = 0; }break; case 'B': {podzad = 1; }break; case 'C': {podzad = 2; }break; } if (zad == 5) { odp = 12 + podzad; if (tab[odp] < 2) return odp; } else { odp = ((zad - 1) * 3) + podzad; if (tab[odp] < 1) return odp; } return -1; } int main() { int n,odp; cin >> n; int tab[15] = {0,0,0, 0,0,0, 0,0,0, 0,0,0, 0,0,0}; bool answer = false; string x; for (int i = 0; i < n; i++) { cin >> x; odp = addToTab(tab, x); if (odp != -1) tab[odp]++; if (sumTab(tab)){ answer = true; break; } } if (answer) cout << "TAK"; else cout << "NIE"; return(0); } |
English