Pagini recente » Cod sursa (job #2798398) | Cod sursa (job #1196506) | Cod sursa (job #1304017) | Cod sursa (job #2847330) | Cod sursa (job #3334943)
#include <iostream>
#include <vector>
void dfs(int c, const std::vector<std::vector<int>>&adj, std::vector<bool>&viz) {
viz[c] = true;
for(int v : adj[c]) {
if(!viz[v]) {
dfs(v, adj, viz);
}
}
}
int main(void) {
int n, m, x, y, flag;
std::cin >> n >> m;
flag = 0;
std::vector<bool>viz(n+1, false);
std::vector<std::vector<int>>adj(n+1);
for(int i=1;i<=m;++i) {
std::cin >> x >> y;
adj[y].push_back(x);
}
for(int i=1;i<=n;++i) {
int rez = i;
viz.assign(n+1, false);
dfs(i, adj, viz);
for(int j=1;j<=n;++j) {
if(!viz[j]) { rez = -1; break; }
}
if(rez != -1) {std::cout<<rez; flag = 1; break; }
}
if(!flag) std::cout<< "NU EXISTA";
return 0;
}