Cod sursa(job #79602)

Utilizator gabitzish1Gabriel Bitis gabitzish1 Data 23 august 2007 11:58:40
Problema Stramosi Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include<stdio.h>

long long n, m, p, q, v[400000], nr;

long long cautare(int a, int b)
{
  long long i, rez=b;
  for (i=1; i<=a; i++)
    {
      rez=v[rez];
      if (rez==0) return 0;
    }
  return rez;
}

void citire_sir()
{
  long aux;
  char sir[2000024];
  fgetc(stdin);
  fgets(sir, 2000024,stdin);
  aux=strlen(sir);
  nr=1;
  for (i=0; i<aux; i++)
    {
      if (sir[i]>='0' && sir[i]<='9')
	v[nr]=v[nr]*10+sir[i]-'0';
	}
      if (sir[i]==' ') nr++;
    }
}




int main()
{
  long long i,j, rez;
  FILE *in=fopen("stramosi.in","r");
  FILE *out=fopen("stramosi.out","w");
  fscanf(in,"%lld%lld",&n,&m);
  citire_sir();
  for (i=1; i<=m; i++)
    {
      fscanf(in,"%lld%lld",&q,&p);
      rez=cautare(p,q);
      fprintf(out,"%lld\n",rez);
    }
  fcloseall();
  return 0;
}