Pagini recente » Cod sursa (job #278683) | Cod sursa (job #1621077) | Cod sursa (job #3036428) | Cod sursa (job #1950242) | Cod sursa (job #253795)
Cod sursa(job #253795)
#include <stdio.h>
#include <string.h>
int a[111],frecv[111],i,j,l,nr,nrr,T,N,frecv1[111],ok;
char s[1010];
int max(int a, int b)
{
if (a>b) return a;
return b;
}
int main()
{
freopen("episoade.in","r",stdin);
freopen("episoade.out","w",stdout);
gets(s);
l=strlen(s);
memset(frecv,0,sizeof(frecv));
scanf("%d %d",&T,&N);
nr=0;
nrr=N;
if (s[1]=='#')
{
frecv[s[0]-'0']=max(s[0]-'0',s[2]-'0');
frecv1[s[0]-'0']=nrr;
nrr--;
frecv[s[2]-'0']=max(s[0]-'0',s[2]-'0');
frecv1[s[2]-'0']=nrr;
}
else
if (s[1]=='>')
{
nrr--;
frecv[s[0]-'0']=max(s[0]-'0',s[2]-'0');
frecv1[s[0]-'0']=nrr;
nrr--;
frecv[s[2]-'0']=max(s[0]-'0',s[2]-'0');
frecv1[s[2]-'0']=nrr;
}
for (i=2;i<l;++i)
{
if (s[i+1]=='#')
{
nrr--;
if (frecv[s[i]-'0']==0)
{frecv[s[i]-'0']=max(s[i]-'0',s[i+2]-'0');frecv1[s[i]-'0']=nrr;}
if (frecv[s[i+2]-'0']==0)
{frecv[s[i+2]-'0']=max(s[i]-'0',s[i+2]-'0');frecv1[s[i+2]-'0']=nrr;}
}
else
if (s[i+1]=='>')
{
if (frecv[s[i]-'0']==0)
{
nrr--;
frecv[s[i]-'0']=max(s[i]-'0',s[i+2]-'0');
frecv1[s[i]-'0']=nrr;
}
if (frecv[s[i+2]-'0']==0)
{
nrr--;
frecv[s[i+2]-'0']=max(s[i]-'0',s[i+2]-'0');
frecv1[s[i+2]-'0']=nrr;
}
}
}
while(T--)
{
for (i=1;i<=N;++i)
scanf("%d ", &a[i]);
ok=1;
for (i=1;i<N;++i)
if (frecv1[a[i]]>frecv1[a[i+1]] && frecv[a[i]]>frecv[a[i+1]])
{
ok=0;
break;
}
else
if (frecv1[a[i]]<frecv1[a[i+1]] && frecv[a[i]]<frecv[a[i+1]])
{
ok=0;
break;
}
else
if (frecv1[a[i]]>frecv[a[i+1]] && frecv[a[i]]!=frecv[a[i+1]])
{
ok=0;
break;
}
printf("%d\n", ok);
}
//memset(frecv,0,sizeof(frecv));
/*for (i=1;i<=N;++i)
printf("%d ", frecv[i]);
printf("\n");
for (i=1;i<=N;++i)
printf("%d ", frecv1[i]);*/
return 0;
}