180682025-09-26 15:56:07algoproTestnevelés óracpp17Accepted 50/50137ms17640 KiB
// UUID: 154580ed-3e5c-4730-adb3-070d65e6aff1
#include <bits/stdc++.h>
using namespace std;

vector<vector<int>> edges;
vector<int> vis, ans;
bool poss = true, un = true;

void dfs(int node) {
    vis[node] = 1;
    for (int x : edges[node]) {
        if (vis[x] == 1) poss = false;
        else if (!vis[x]) dfs(x);
    }
    vis[node] = 2;
    if (ans.empty()) {
        ans.push_back(node);
        return;
    }
    bool b = false;
    for (int x : edges[node]) if (x == ans.back()) b = true;
    if (!b) un = false;
    ans.push_back(node);
}

int main() {
    ios::sync_with_stdio(false);
    cin.tie(0); cout.tie(0);
    int n, k;
    cin >> n >> k;
    edges.resize(n);
    vis.assign(n, 0);
    while (k--) {
        int a, m;
        cin >> a >> m;
        a--; m--;
        edges[m].push_back(a);
    }
    for (int i = 0; i < n; i++) if (!vis[i]) dfs(i);
    if (!poss) {
        cout << 0;
        return 0;
    }
    if (un) {
        cout << 1 << "\n";
        for (int x : ans) cout << x + 1 << " ";
        return 0;
    }
    cout << 2 << "\n";
    for (int x : ans) cout << x + 1 << " ";
    cout << "\n";
    for (int i = 1; i < n; i++) {
        bool b = false;
        for (int x : edges[ans[i]]) if (x == ans[i - 1]) b = true;
        if (!b) {
            swap(ans[i], ans[i - 1]);
            break;
        }
    }
    for (int x : ans) cout << x + 1 << " ";
    return 0;
}
SubtaskSumTestVerdictTimeMemory
base50/50
1Accepted0/01ms316 KiB
2Accepted0/01ms316 KiB
3Accepted0/097ms7088 KiB
4Accepted2/21ms316 KiB
5Accepted3/31ms532 KiB
6Accepted3/31ms508 KiB
7Accepted3/31ms316 KiB
8Accepted1/11ms368 KiB
9Accepted3/31ms316 KiB
10Accepted3/32ms316 KiB
11Accepted3/32ms316 KiB
12Accepted1/12ms316 KiB
13Accepted2/22ms316 KiB
14Accepted3/31ms316 KiB
15Accepted1/175ms4384 KiB
16Accepted3/382ms8608 KiB
17Accepted5/543ms9388 KiB
18Accepted1/1114ms12712 KiB
19Accepted2/275ms4692 KiB
20Accepted3/3137ms16436 KiB
21Accepted4/4120ms17640 KiB
22Accepted4/4128ms15460 KiB