10712022-02-28 00:51:58peti1234Blokk eliminációcpp14Hibás válasz 19/5039ms12672 KiB
#include <bits/stdc++.h>

using namespace std;
int w, n;
int main()
{
    cin >> w;
    while (w--) {
        string s;
        vector<int> sz;
        cin >> s;
        int cnt=1;
        for (int i=1; i<s.size(); i++) {
            if (s[i]==s[i-1]) cnt++;
            else {
                sz.push_back(cnt>1);
                cnt=1;
            }
        }
        sz.push_back(cnt>1);
        n=sz.size();
        if (n%2) {
            int cnt=0, maxi=0;
            for (auto x:sz) {
                if (!x) {
                    cnt++;
                    maxi=max(maxi, cnt);
                } else cnt=0;
            }
            cout << (sz[(n-1)/2] || 2*cnt+1<n ? "IGEN" : "NEM") << "\n";
        } else {
            vector<int> jo(n, 0);
            bool s=0;
            int cnt=0, maxi=0;
            for (int i=0; i<n; i++) {
                if (!sz[i]) {
                    cnt++;
                    maxi=max(maxi, cnt);
                } else cnt=0;
                if (i%2==0 && (sz[i/2] || 2*maxi<i)) jo[i]=1;
            }
            cnt=0, maxi=0;
            for (int i=n-1; i>=1; i--) {
                if (!sz[i]) {
                    cnt++;
                    maxi=max(maxi, cnt);
                } else cnt=0;
                int db=n-1-i;
                if (jo[i-1] && (sz[i+db/2] || 2*maxi<db)) s=1;
            }
            cout << (s ? "IGEN" : "NEM") << "\n";
        }
    }
	return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base19/50
1Hibás válasz0/02ms1736 KiB
2Hibás válasz0/039ms6360 KiB
3Hibás válasz0/21ms2836 KiB
4Hibás válasz0/21ms2836 KiB
5Hibás válasz0/21ms2844 KiB
6Elfogadva2/21ms2848 KiB
7Elfogadva2/21ms2852 KiB
8Hibás válasz0/21ms2856 KiB
9Hibás válasz0/21ms2864 KiB
10Hibás válasz0/21ms2868 KiB
11Hibás válasz0/21ms2888 KiB
12Elfogadva2/22ms2904 KiB
13Hibás válasz0/21ms2916 KiB
14Hibás válasz0/24ms3424 KiB
15Elfogadva3/34ms3516 KiB
16Hibás válasz0/34ms3600 KiB
17Hibás válasz0/337ms8152 KiB
18Elfogadva3/337ms9020 KiB
19Elfogadva3/339ms9684 KiB
20Hibás válasz0/335ms11028 KiB
21Elfogadva4/439ms11972 KiB
22Hibás válasz0/437ms12672 KiB