1575 2022. 11. 26 21:12:50 Babják Péter Blokk elimináció cpp11 Hibás válasz 32/50 45ms 4764 KiB
#include <bits/stdc++.h>
#define MAXN 201000
using namespace std;
int n,t,cnt;
char pch;
string ANS[2];
struct block
{
	bool nb;
	bool val;	
};
vector<block> blocks;
bool RX(int l,int r)
{
	if((l+r)%2==1)return 0;
	else if(blocks[(l+r)/2].nb==1) return 1;
	return 0;
}
bool RZ(int l,int r)
{
	if(blocks[l].val==0 && RX(l,r)==1)return 1;
	if(RX(l+1,r)==1 && blocks[l].val==0) return 1;
	if(RX(l,r-1)==1 && blocks[r].val==0) return 1;
	return 0;
}
bool RE(int l,int r)
{
	if(blocks[l].val==1 && RX(l,r)==1)return 1;
	if(RX(l+1,r)==1 && blocks[l].val==1) return 1;
	if(RX(l,r-1)==1 && blocks[r].val==1) return 1;
	return 0;
}
int main()
{
	ANS[0]="NEM\n";
	ANS[1]="IGEN\n";
	cin>>t;
	while(t--)
	{
		blocks.clear();
		cnt=0;
		string s;
		cin>>s;
		s+='-';
		pch='-';
		for(char ch:s)
		{
			if(ch!=pch)
			{
				block b;
				if(cnt>1) b.nb=1;
				else b.nb=0;
				
				if(pch=='0')b.val=0;
				else b.val=1; 
				cnt=1;
				if(pch!='-')blocks.push_back(b);
				pch=ch;
			}
			else cnt++;
		}
		n=blocks.size();
		bool ans=RX(0,n-1);
		for(int i=0;i<n;i++)
		{
			if(RZ(0,i) && RZ(i+1,n-1)) ans=1;
			if(RE(0,i) && RE(i+1,n-1)) ans=1;
			if(RX(0,i) && RX(i+1,n-1)) ans=1;
		}
		if(ans==1) cout<<"IGEN\n";
		else cout<<"NEM\n";
	}
	return 0;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 32/50
1 Elfogadva 0/0 3ms 1808 KiB
2 Elfogadva 0/0 41ms 3464 KiB
3 Elfogadva 2/2 2ms 2232 KiB
4 Elfogadva 2/2 2ms 2324 KiB
5 Elfogadva 2/2 2ms 2564 KiB
6 Hibás válasz 0/2 2ms 2640 KiB
7 Elfogadva 2/2 2ms 2596 KiB
8 Elfogadva 2/2 2ms 2728 KiB
9 Hibás válasz 0/2 2ms 2800 KiB
10 Elfogadva 2/2 2ms 2924 KiB
11 Hibás válasz 0/2 2ms 2932 KiB
12 Hibás válasz 0/2 2ms 2816 KiB
13 Elfogadva 2/2 3ms 2948 KiB
14 Elfogadva 2/2 6ms 3264 KiB
15 Hibás válasz 0/3 6ms 3272 KiB
16 Elfogadva 3/3 6ms 3100 KiB
17 Elfogadva 3/3 43ms 4540 KiB
18 Hibás válasz 0/3 41ms 4580 KiB
19 Elfogadva 3/3 41ms 4580 KiB
20 Elfogadva 3/3 45ms 4764 KiB
21 Hibás válasz 0/4 41ms 4668 KiB
22 Elfogadva 4/4 41ms 4660 KiB