Cod sursa(job #253779)

Utilizator perticas_catalinperticas catalin perticas_catalin Data 6 februarie 2009 12:25:06
Problema Episoade Scor 40
Compilator cpp Status done
Runda Stelele Informaticii 2009, clasele 9-10, ziua 1 Marime 0.87 kb
#include<stdio.h>
#include<string.h>
FILE*fin=fopen("episoade.in","r");
FILE*fout=fopen("episoade.out","w");
char s[1002];
int i,after[1002],a[1002],t,n;
int findnr()
{
  int nr=0;
  while(s[i]>='0'&&s[i]<='9')
  {
    nr=nr*10+(s[i]-'0');
    i++;
  }
  return nr;
}
int main()
{
  int nc,nu,ok,j;
  fscanf(fin,"%s",&s);
  fscanf(fin,"%d%d",&t,&n);
  i=0;
  nc=findnr();
  while(i<strlen(s))
  {
    if(s[i]=='>')
    {
      i++;
      nu=findnr();
      after[nc]=nu;
      nc=nu;
    }
    else
    {
      i++;
      after[nc]=0;
      nc=findnr();
    }
  }
  after[nc]=0;
  for(i=1;i<=t;i++)
  {
    for(j=1;j<=n;j++)
      fscanf(fin,"%d",&a[j]);
    ok=1;
    for(j=1;j<n;j++)
      if(after[a[j]]&&after[a[j]]!=a[j+1])
      {
	ok=0;
	break;
      }
    fprintf(fout,"%d\n",ok);
  }
  fclose(fin);
  fclose(fout);
  return 0;
}