Nu aveti permisiuni pentru a descarca fisierul grader_test22.in
Cod sursa(job #253821)
| Utilizator | Data | 6 februarie 2009 12:40:50 | |
|---|---|---|---|
| Problema | Episoade | Scor | 50 |
| Compilator | cpp | Status | done |
| Runda | Stelele Informaticii 2009, clasele 9-10, ziua 1 | Marime | 1.12 kb |
#include<stdio.h>
#include<string.h>
int kk,ii,jj,ok,h,k,p,n,t,i,nr,nn,x,j,a[100][100],v[1002];
char uc,s[1002];
int main()
{
freopen("episoade.in","r",stdin);
freopen("episoade.out","w",stdout);
scanf("%s\n",&s);
scanf("%d%d",&t,&n);
nr=strlen(s);
nn=1;
do
{
if(s[i]>=48&&s[i]<=57)
{
x++;
while((s[i]>=48&&s[i]<=57))
{
a[nn][x]=a[nn][x]*10+(s[i]-48);
i++;
}
a[nn][0]=x;
}
if(s[i]=='#') { nn++;x=0;};
if((s[i]=='>'&&s[i+1]=='(')) { nn++;x=0;} ;
i++;
}while(i<nr);
for(k=1;k<=t;++k)
{
ok=1;
for(i=1;i<=n;++i)
scanf("%d",&v[i]);
i=0;
do
{
i++;
kk=0;
for(j=1;j<=nn&&ok==1;++j)
{
x=a[j][0];
for(h=1;h<=x;h++)
if(a[j][h]==v[i])
{
for(p=1;p<=x;++p)
if(a[j][p]!=v[i+p-1]) {ok=0; break;}
kk=1;
break;
}
if(kk)break;
}
i=i+x-1;
}while(i<n&&ok);
printf("%d\n",ok);
}
return 0;
}
