180682025-09-26 15:56:07algoproTestnevelés óracpp17Elfogadva 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;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/01ms316 KiB
2Elfogadva0/01ms316 KiB
3Elfogadva0/097ms7088 KiB
4Elfogadva2/21ms316 KiB
5Elfogadva3/31ms532 KiB
6Elfogadva3/31ms508 KiB
7Elfogadva3/31ms316 KiB
8Elfogadva1/11ms368 KiB
9Elfogadva3/31ms316 KiB
10Elfogadva3/32ms316 KiB
11Elfogadva3/32ms316 KiB
12Elfogadva1/12ms316 KiB
13Elfogadva2/22ms316 KiB
14Elfogadva3/31ms316 KiB
15Elfogadva1/175ms4384 KiB
16Elfogadva3/382ms8608 KiB
17Elfogadva5/543ms9388 KiB
18Elfogadva1/1114ms12712 KiB
19Elfogadva2/275ms4692 KiB
20Elfogadva3/3137ms16436 KiB
21Elfogadva4/4120ms17640 KiB
22Elfogadva4/4128ms15460 KiB