Cod sursa(job #253801)

Utilizator dushmiMihai-Alexandru Dusmanu dushmi Data 6 februarie 2009 12:33:49
Problema Episoade Scor 0
Compilator cpp Status done
Runda Stelele Informaticii 2009, clasele 9-10, ziua 1 Marime 1.71 kb
#include<stdio.h>
#include<string.h>
#include<conio.h>
int nr,t,n,p,q,x,nri,i,j,xi,o;
char semn,vec[101],s[101],sm[101][101],sm1[101][101];
int main()
{
    gets(s);
    scanf("%d%d",&t,&n);
    p=strlen(s)-1;
    q=0;
    x=-1;
    do
    {
	x++;
	if(s[x]!=')' && s[x]!='(' && s[x]!='#' && s[x]!='>')
		     vec[++q]=s[x];
	else if(s[x]!='(' && s[x]!=')')
	{
	     nri=0;
	     for(i=1;i<=q;i++)
			      nri=nri*10+((int)vec[i]-(int)'0');
	}
    }
    while(nri==0);
    semn=s[x];
    q=0;
    do
    {
	x++;
	if(s[x]!=')' && s[x]!='(' && s[x]!='#' && s[x]!='>')
		     vec[++q]=s[x];
	else if(s[x]!='(' && s[x]!=')')
	{
	     nr=0;
	     for(i=1;i<=q;i++)
			      nr=nr*10+((int)vec[i]-(int)'0');
	}
    }
    while(nr==0);
    sm[nri][nr]=semn;
    nri=nr;
    semn=s[x];
    q=0;
    for(i=x+1;i<=p;i++)
    {
	if(s[i]!=')' && s[i]!='(' && s[i]!='#' && s[i]!='>')
		     vec[++q]=s[i];
	else if(s[i]!='(' && s[i]!=')')
	{
	     nr=0;
	     for(j=1;j<=q;j++)
			      nr=nr*10+((int)vec[j]-(int)'0');
	     sm[nri][nr]=semn;
	     semn=s[i];
	     nri=nr;
	     q=0;
	}
    }
    nr=0;
    for(j=1;j<=q;j++)
	      nr=nr*10+((int)vec[j]-(int)'0');
    sm[nri][nr]=semn;
    semn=s[i];
    nri=nr;
    q=0;
    xom=0;
    do
    {
	xom++;
	scanf("%d",&xi);
	for(i=2;i<=n;i++)
	{
		scanf("%d",&x);
		sm1[xi][x]='>';
		xi=x;
	}
	for(i=1;i<=n;i++)
	{
		for(j=1;j<=n;j++)
			if(sm[i][j]!=sm1[i][j] || (sm1[i][j]!='>' && sm[i][j]=='#') || (sm1[i][j]!='>' && sm[i][j]!='#') || (sm1[i][j]=='>' && sm[i][j]!='#'))
			{
				o=1;
				break;
			}
		if(o==1)
			break;
	}
	if(o==0) printf("1\n");
	else printf("0\n");
    }
    while(xom<t);
    return 0;
}