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 |