Cod sursa(job #465608)

Utilizator irene_mFMI Irina Iancu irene_m Data 24 iunie 2010 21:51:30
Problema Episoade Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.24 kb
#include <cstdio>
#include <string>
#define infile "episoade.in"
#define outfile "episoade.out"
#define MaxLg 1005
#define MaxN 105

int v[MaxN],poz[MaxN];
char e[MaxLg];
int N,T;

int verif()
{
      int i,M=strlen(e),j,x,y;
      char a[5],b[5];

      for(i=0;i<M;i++)
            if(e[i]=='>')
            {
                  j=i-1;
                  while(e[j]<='9' && e[j]>='0')
                        j--;
                  strncpy(a,e+j+1,i-j-1);
                  a[i-j-1]='\0';

                  j=i+1;

                  while(e[j]<='9' && e[j]>='0')
                        j++;

                  strncpy(b,e+i+1,j-i-1);
                  b[j-i-1]='\0';

                  x=atoi(a); y=atoi(b);
                  if(poz[x]!=poz[y]-1)
                        return 0;
            }

      return 1;
}

int main()
{
      freopen(infile,"r",stdin);
      freopen(outfile,"w",stdout);

      scanf("%s",&e);
      scanf("%d%d",&T,&N);
      for(;T;T--)
      {
            for(int i=1;i<=N;i++)
            {
                  scanf("%d",&v[i]);
                  poz[v[i]]=i;
            }
            printf("%d\n",verif());
      }

      fclose(stdin);
      fclose(stdout);
      return 0;
}