Pagini recente » Cod sursa (job #2319902) | Cod sursa (job #1355875) | Cod sursa (job #2680700) | Cod sursa (job #1608794) | Cod sursa (job #2898168)
#include <iostream>
#include <algorithm>
#include <vector>
#include <string>
#include <unordered_map>
#include <utility>
#define ll long long
using namespace std;
vector<bool> viz;
vector<bool> viz2;
vector<vector<int>> li;
void dfs(int k)
{
viz[k] = true;
viz2[k] = true;
cout << k << '\n';
for (int i = 0; i < li[k].size(); i++)
if (viz[li[k][i]] == false)
{
dfs(li[k][i]);
}
}
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int n, m, x, y;
cin >> n >> m;
li.resize(n + 1);
viz.resize(n + 1, false);
viz2.resize(n + 1, false);
while (m--)
{
cin >> x >> y;
viz2[y] = true;
li[x].push_back(y);
}
bool ok = false;
for (int i = 1; i <= n; i++)
{
if (!viz2[i])
{
ok = true;
dfs(i);
}
}
if (!ok)
{
cout << "IMPOSSIBLE";
return 0;
}
return 0;
}