Cod sursa(job #253719)

Utilizator jupanubv92Popescu Marius jupanubv92 Data 6 februarie 2009 11:47:38
Problema Episoade Scor 20
Compilator cpp Status done
Runda Stelele Informaticii 2009, clasele 9-10, ziua 1 Marime 1.04 kb
#include<stdio.h>
#include<string.h>

char c[10001];
int n,t,a[101];

int trans(int i)
{   int x=0;
    int nr=1;
    while(c[i-1]>='0'&&c[i-1]<='9')
      {x=x*nr+c[i-1]-'0';nr*=10;i--;}
    return x;
}
int trans2(int i)
{
    int x=0;
    int nr=1;
    while(c[i+1]>='0'&&c[i+1]<='9')
      {x=x*nr+c[i+1]-'0';nr*=10;i++;}
    return x;
}

 int esteinainte(int x,int y)
 {
    for(int i=1;i<=n;i++)
     {if(a[i]==y)
       if(a[i+1]==x)
        return 0;

     }
  return 1;
 }

int este()
{   int x,y;
    for(int i=0;i<strlen(c);i++)
     if(c[i]=='>')
      {
        x=trans(i);
        y=trans2(i);
        if(esteinainte(y,x))
          return 0;
      }
    return 1;
}

int main()
{
    freopen("episoade.in","r",stdin);
    freopen("episoade.out","w",stdout);
    fgets(c,10001,stdin);
    scanf("%d %d",&t,&n);
    for(int i=1;i<=t;i++)
     {
      for(int j=1;j<=n;j++)
        scanf("%d",&a[j]);
      if(este())
        printf("1\n");
         else printf("0\n");
     }
    return 0;
}