Cod sursa(job #1640079)

Utilizator Alex1234Alexandru Posea Alex1234 Data 8 martie 2016 15:41:04
Problema Stramosi Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <cstdio>
#include <vector>

#define max1 250000
#define max2 300000

using namespace std;

FILE *f1,*f2;
int N,M,stram[max1];

int get_stramosi(int k,int n)
{
    for(int i=1;i<=n;i++)
    {
        if(k!=stram[k])
        k=stram[k];
        else
            return 0;
    }
    return k;
}

int main()
{
    f1=fopen("stramosi.in","r");
    fscanf(f1,"%d%d",&N,&M);
    int x,y;
    for(int i=1;i<=N;i++)
    {
        fscanf(f1,"%d",&x);
        stram[i]=x;
    }
    f2=fopen("stramosi.out","w");
    for(int i=1;i<=M;i++)
    {
        fscanf(f1,"%d%d",&x,&y);
        fprintf(f2,
                "%d\n",get_stramosi(x,y));
    }
    return 0;
}