31472023-02-20 12:25:06TuruTamasBlokk eliminációcpp11Időlimit túllépés 10/50400ms4804 KiB
#include <bits/stdc++.h>
using namespace std;
bool good = false;
vector<bool> blokkok;
bool stop = false;

void checkIfGood(int loc) {
    if (loc == blokkok.size()) {
        good = true;
        stop = true;
        return;
    }
    if (loc > blokkok.size()) return;
    for (size_t i = loc; i <= loc+(blokkok.size()-loc)/2; i++)
    {
        if (blokkok.at(i)) checkIfGood(i + i-loc + 1);
        if (stop) return;
    }
}

int main() {
    int T;
    cin >> T;
    string line;
    for (int i = 0; i < T; ++i) {
        blokkok.clear();
        cin >> line;
        for (int i = 0; i < line.size(); ++i) {
            if (line[i] == line[i+1]) {
                blokkok.push_back(true);
                char start = line[i];
                for (; line[i] == start && i < line.size(); i++){}
                i--;
            }
            else {
                blokkok.push_back(false);
            }
        }
        checkIfGood((0));
        if (good) {
            cout << "IGEN\n";
        }
        else {
            cout << "NEM\n";
        }
        good = false;
        stop = false;
    }
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base10/50
1Elfogadva0/03ms1960 KiB
2Időlimit túllépés0/0400ms1884 KiB
3Elfogadva2/23ms2324 KiB
4Elfogadva2/23ms2564 KiB
5Elfogadva2/23ms2776 KiB
6Hibás válasz0/23ms2988 KiB
7Elfogadva2/23ms3072 KiB
8Hibás válasz0/23ms3076 KiB
9Hibás válasz0/2298ms3076 KiB
10Elfogadva2/226ms3200 KiB
11Időlimit túllépés0/2370ms3300 KiB
12Időlimit túllépés0/2367ms3536 KiB
13Időlimit túllépés0/2358ms3628 KiB
14Időlimit túllépés0/2363ms3688 KiB
15Időlimit túllépés0/3316ms4008 KiB
16Időlimit túllépés0/3370ms3952 KiB
17Időlimit túllépés0/3365ms3412 KiB
18Időlimit túllépés0/3365ms4480 KiB
19Időlimit túllépés0/3375ms3812 KiB
20Időlimit túllépés0/3368ms4804 KiB
21Időlimit túllépés0/4363ms4304 KiB
22Időlimit túllépés0/4372ms3980 KiB