Submission #802055

#TimeUsernameProblemLanguageResultExecution timeMemory
802055tlnk07Naboj (COCI22_naboj)C++17
0 / 110
110 ms9272 KiB
#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(check) { cout << "-1\n"; return 0; } } } cout << sta.size() << "\n"; while(!sta.empty()) { cout << sta.top() << " 1\n"; sta.pop(); } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...