256532026-02-23 22:33:40GeneratrollBlokk eliminációcpp17Wrong answer 6/5017ms2400 KiB
#include <bits/stdc++.h>
using namespace std;

void solve() {
	string s;
	if (!(cin >> s)) {
		return;
	}
	int n = s.length();
	if (n == 0) {
		cout << "IGEN" << "\n";
		return;
	}
	vector<int> l;
	int c = 1;
	for (int i = 1; i < n; i++) {
		if (s[i] == s[i - 1]) {
			c++;
		} else {
			l.push_back(c);
			c = 1;
		}
	}
	l.push_back(c);
	vector<int> v;
	for (int x : l) {
		v.push_back(x);
		while (v.size() >= 3 && v[v.size() - 2] >= 2) {
			int a = v.back();
			v.pop_back();
			v.pop_back();
			v.back() += a;
		}
	}
	int head = 0, tail = (int)v.size() - 1;
	while (head <= tail) {
		if (v[head] >= 2) {
			head++;
		} else if (v[tail] >= 2) {
			tail--;
		} else {
			break;
		}
	}
	if (head > tail) {
		cout << "IGEN" << "\n";
	} else {
		cout << "NEM" << "\n";
	}
}

int main() {
	ios::sync_with_stdio(false);
	cin.tie(nullptr);
	int t;
	if (!(cin >> t)) {
		return 0;
	}
	while (t--) {
		solve();
	}
	return 0;
}
SubtaskSumTestVerdictTimeMemory
base6/50
1Accepted0/01ms316 KiB
2Wrong answer0/014ms2248 KiB
3Accepted2/21ms316 KiB
4Wrong answer0/21ms316 KiB
5Wrong answer0/21ms316 KiB
6Wrong answer0/21ms344 KiB
7Accepted2/21ms316 KiB
8Wrong answer0/21ms500 KiB
9Wrong answer0/21ms316 KiB
10Accepted2/21ms316 KiB
11Wrong answer0/21ms500 KiB
12Wrong answer0/21ms316 KiB
13Wrong answer0/21ms316 KiB
14Wrong answer0/22ms640 KiB
15Wrong answer0/32ms564 KiB
16Wrong answer0/32ms564 KiB
17Wrong answer0/317ms2400 KiB
18Wrong answer0/313ms2384 KiB
19Wrong answer0/314ms2228 KiB
20Wrong answer0/316ms2344 KiB
21Wrong answer0/413ms2284 KiB
22Wrong answer0/416ms2224 KiB