Pagini recente » Cod sursa (job #2229493) | Cod sursa (job #2509701) | Cod sursa (job #167903) | Cod sursa (job #733282) | Cod sursa (job #333903)
Cod sursa(job #333903)
#include<cstdio>
const int N = (1<<15);
int n;
char s[N];
int c(int);
int b(int poz)
{
if(poz>n-5)
return 0;
if(s[poz<<1]=='2')
return b(poz+1);
if(s[poz<<1]=='1' && s[(poz<<1)+4]=='3')
return c(poz+4);
return 0;
}
int c(int poz)
{
if(s[poz<<1]=='2')
return poz+1;
if(s[poz<<1]=='1' && s[(poz<<1)+2]=='2')
return poz+3;
if(s[poz<<1]=='3')
return c(1+b(poz+1));
return 0;
}
int rez()
{
if(n==1)
return 1;
if(b(0)==n || c(0)==n)
return 1;
return 0;
}
int main()
{
freopen("perle.in","r",stdin);
freopen("perle.out","w",stdout);
int t;
scanf("%d\n",&t);
while(t--)
{
scanf("%d ",&n);
fgets(s,N,stdin);
printf("%d\n",rez());
}
return 0;
}