Pagini recente » Cod sursa (job #2200829) | Cod sursa (job #923056) | Cod sursa (job #2700932) | Monitorul de evaluare | Cod sursa (job #669175)
Cod sursa(job #669175)
#include<fstream>
using namespace std;
int i,N,M,T[300005];
ifstream f("stramosi.in");
ofstream g("stramosi.out");
struct nod{
int inf;
nod* adr;
}*A[300005];
struct intrebare{
int nr,inf;
intrebare* adr;
}*Q[250005];
void citire(){
f>>N>>M;
int i,x,y;
for(i=1;i<=N;i++)
{
f>>T[i];
if(T[i]!=0)
{
nod*p=new nod;
p->inf=T[i];
p->adr=A[i];
A[i]=p;
p=new nod;
p->inf=i;
p->adr=A[T[i]];
A[T[i]]=p;
}
}
for(i=1;i<=M;i++)
{
f>>y>>x;
intrebare*p=new intrebare;
p->nr=i;
p->inf=x;
p->adr=Q[y];
Q[y]=p;
}
}
/*void afisare()
{
for(int i=1;i<=N;i++)
{
for(intrebare*p=Q[i];p!=NULL;p=p->adr)
g<<p->inf<<" ";
g<<"\n";
}
}*/
int main (){
citire();
for(i=1;i<=N;i++)
if(T[i]==0)
DFS(i,k);
return 0;
}