Cod sursa(job #669175)

Utilizator Tucu94Andrei Tuculanu Tucu94 Data 26 ianuarie 2012 12:20:55
Problema Stramosi Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#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;
}