Cod sursa(job #2246096)

Utilizator iulius510iulius alexandru iulius510 Data 26 septembrie 2018 17:32:13
Problema Stramosi Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream f("stramosi.in");
ofstream g("stramosi.out");
int N,M;
int a[100][100],v[100],varf,x,y,u[100],k;
vector<int>la[100];

void p(int x)
{
        for(int i=0;i<la[x].size();i++)
            if(v[la[x][i]]==0)
        {
            v[la[x][i]]=1;
             for(int j=1;(j<la[x][i])&&(a[x][j]!=0);j++)
                a[la[x][i]][j+1]=a[x][j];
             p(la[x][i]);
        }
}

int main()
{   f>>N>>M;
    for(int i=1;i<=N;i++)
    {
        f>>a[i][1];
        if(a[i][1]!=0)
        {
            la[a[i][1]].push_back(i);
        }
        else
        u[++k]=i;
    }
    for(int i=1;i<=k;i++)
    p(u[i]);
    for(int i=1;i<=M;i++)
    {
        f>>x>>y;
        g<<a[x][y]<<"\n";
    }
    return 0;
}