Pagini recente » Cod sursa (job #656234) | Cod sursa (job #601228) | Cod sursa (job #2965283) | Cod sursa (job #988695) | Cod sursa (job #2652064)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("pioni.in");
ofstream fout("pioni.out");
const int NMAX = 20005;
const int KMAX = 30005;
int T,n,m,k,x,y;
int ver[NMAX],sg[NMAX],a[KMAX];
int mex[NMAX];
vector <int> v[NMAX];
void dfs(int nod){
ver[nod]=1;
for(int i=0;i<v[nod].size();i++){
int vecin=v[nod][i];
if(ver[vecin]==0){
dfs(vecin);
}
}
for(int i=0;i<v[nod].size();i++){
int vecin=v[nod][i];
//mex[sg[vecin]]=true;
if(sg[vecin]==0){
sg[nod]=vecin;
break;
}
}
/*bool ok=true;
for(int i=0;i<=n;i++){
if(mex[i]==false and ok==true){
sg[nod]=i;
ok=false;
}
mex[i]=false;
}*/
}
int main()
{
fin >> T >> n >> m;
for(int i=1;i<=m;i++){
fin >> x >> y;
v[x].push_back(y);
}
for(int i=1;i<=n;i++){
if(ver[i]==0) dfs(i);
}
for(int t=1;t<=T;t++){
fin >> k;
int ind=0,rasp=0;
for(int i=1;i<=k;i++){
fin >> a[i];
//rasp^=sg[a[i]];
if(sg[a[i]]!=0){
ind++;
}
}
//fout << rasp << '\n' << '\n';
if(ind==0){
fout << "Fumeanu" << '\n';
continue;
}
fout << "Nargy" << '\n';
fout << ind << ' ';
for(int i=1;i<=k;i++){
if(sg[a[i]]!=0)
fout << a[i] << ' ' << sg[a[i]] << ' ';
}
fout << '\n';
}
/*fout << '\n';
fout << sg[1] << ' ' << sg[2] << ' ' << sg[3] << ' ' << sg[4] << '\n';
fout << sg[4] << '\n';
for(int i=0;i<v[4].size();i++)
fout << sg[v[4][i]] << ' ';*/
return 0;
}