Pagini recente » Cod sursa (job #972560) | Cod sursa (job #2257249) | Cod sursa (job #1786020) | Cod sursa (job #1816176) | Cod sursa (job #852561)
Cod sursa(job #852561)
#include<fstream>
#include<vector>
using namespace std;
const char iname[]="pioni.in";
const char oname[]="pioni.out";
const int maxn=30005;
ifstream f(iname);
ofstream g(oname);
int l[maxn],i,n,x,y,k,v[maxn],m,gr[maxn],rez;
vector<int> E[maxn];
void bfs(int x)
{
if(v[x]>=0)
return;
for(vector<int>::iterator it=E[x].begin();it!=E[x].end();++it)
{
bfs(*it);
if(v[*it]==0)
v[x]=*it;
}
if(v[x]<0)
v[x]=0;
}
int main()
{
f>>k>>n>>m;
for(i=1;i<=m;++i)
f>>x>>y,E[x].push_back(y),++gr[y];
for(i=1;i<=n;++i)
v[i]=-1;
for(i=1;i<=n;++i)
if(gr[i]==0)
bfs(i);
for(;k;--k)
{
f>>m;
rez=0;
for(i=1;i<=m;++i)
{
f>>gr[i];
if(v[gr[i]])
++rez;
}
if(rez==0)
{
g<<"Fumeanu\n";
continue;
}
g<<"Nargy\n"<<rez<<" ";
for(i=1;i<=m;++i)
if(v[gr[i]])
g<<gr[i]<<" "<<v[gr[i]]<<" ";
g<<"\n";
}
}