# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
802939 | tlnk07 | Naboj (COCI22_naboj) | C++17 | 106 ms | 9492 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<bits/stdc++.h>
using namespace std;
long long n, m, x, y;
vector<int> vec[200001];
stack<int> sta;
bool check = 0, visited[200001];
void dfs(int x)
{
if(visited[x]) check = true;
if(check) return;
visited[x] = true;
for(int c : vec[x])
{
if(!visited[c]) dfs(c);
else check = true;
if(check) return;
}
sta.push(x);
}
int main()
{
memset(visited, 0, sizeof(visited));
cin >> n >> m;
for(int i = 1; i <= m; ++i)
{
cin >> x >> y;
vec[y].push_back(x);
}
for(int i = 1; i <= n; ++i)
{
if(!visited[i])
{
dfs(i);
}
}
if(sta.size() < n)
{
cout << -1;
return 0;
}
cout << n << "\n";
while(!sta.empty())
{
cout << sta.top() << " 1\n";
sta.pop();
}
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |