#include <iostream> #include <vector> #include <algorithm> using namespace std; int main() { int liczba_sumow; cin >> liczba_sumow; vector<int> sumy = {}; vector<int> sumy2 = {}; vector<char> wynik = {}; int max = 0; for (int i = 0; i < liczba_sumow; i++) { int waga_suma; cin >> waga_suma; if (waga_suma > max) { max = waga_suma; } sumy.push_back((int)waga_suma); wynik.push_back('0'); } for (int i = 0; i < liczba_sumow; i++) { if (wynik[i] == 'T' || wynik[i] == 'N') { continue; } int masa = sumy[i]; sumy2 = sumy; bool sprawdzanie = true; bool krol = false; while (sprawdzanie == true) { sprawdzanie = false; for (int j = 0; j < liczba_sumow; j++) { if (sumy2[i] > sumy2[j] && sumy2[j] != 0) { sprawdzanie = true; sumy2[i] += sumy2[j]; sumy2[j] = 0; } if (sumy2[i] > max) { krol = true; break; } } if (krol == true) break; } for (int j = 0; j < liczba_sumow; j++) { if (sumy[j] == masa) { if (krol == true) wynik[j] = 'T'; if (krol == false) wynik[j] = 'N'; } } } for (int i = 0; i < liczba_sumow; i++) { cout << wynik[i]; } 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 64 65 66 67 68 69 70 71 72 73 74 | #include <iostream> #include <vector> #include <algorithm> using namespace std; int main() { int liczba_sumow; cin >> liczba_sumow; vector<int> sumy = {}; vector<int> sumy2 = {}; vector<char> wynik = {}; int max = 0; for (int i = 0; i < liczba_sumow; i++) { int waga_suma; cin >> waga_suma; if (waga_suma > max) { max = waga_suma; } sumy.push_back((int)waga_suma); wynik.push_back('0'); } for (int i = 0; i < liczba_sumow; i++) { if (wynik[i] == 'T' || wynik[i] == 'N') { continue; } int masa = sumy[i]; sumy2 = sumy; bool sprawdzanie = true; bool krol = false; while (sprawdzanie == true) { sprawdzanie = false; for (int j = 0; j < liczba_sumow; j++) { if (sumy2[i] > sumy2[j] && sumy2[j] != 0) { sprawdzanie = true; sumy2[i] += sumy2[j]; sumy2[j] = 0; } if (sumy2[i] > max) { krol = true; break; } } if (krol == true) break; } for (int j = 0; j < liczba_sumow; j++) { if (sumy[j] == masa) { if (krol == true) wynik[j] = 'T'; if (krol == false) wynik[j] = 'N'; } } } for (int i = 0; i < liczba_sumow; i++) { cout << wynik[i]; } return 0; } |