180462025-09-25 18:07:28algoproTestnevelés óracpp17Futási hiba 21/5064ms64000 KiB
// UUID: b2f16594-8a59-4fcd-929a-46a0759cc688
#include <bits/stdc++.h>
#include <queue>
#include <vector>
using namespace std;


int main() {

	int n, m; cin >> n >> m;
    vector<vector<int>> g(n+1, vector<int>(n+1, 0));
    vector<int> fokszam(n+1, 0);
    vector<int> ans;
    vector<bool> vis(n+1, 0);
    for (int i=0;i<m;i++){
        int a, b; cin >> a >> b;
        g[a].push_back(b);
        fokszam[b]++;
    }
    pair<int, int> felcserel = {0, 0};
    queue<int> q;
    for (int i=0;i<n;i++) {
        if (!fokszam[i]) {
            q.push(i);
            if (felcserel.first) {
                if (!felcserel.second) felcserel.second = i;
            } else felcserel.first = i;
        }
        } 
        // cout << fokszam[i];
    if (!felcserel.second) felcserel = {0, 0};
    while (!q.empty()) {
        int u = q.front();
        q.pop();
        ans.push_back(u);
        if (vis[u]) break;
        vis[u] = 1;
        for (int i: g[u]) {
            fokszam[i]--;
            if (!fokszam[i]){
                q.push(i);
                if (felcserel.first) {
                    if (!felcserel.second) felcserel.second = i;
                } else felcserel.first = i;
            } 
        }
        if (!felcserel.second) felcserel = {0, 0};
        // cout << u << '\n';
    }
    // for(int i: fokszam) {
    //     cout << i << '\n';
    // }
    for (int i: vis) if (!i) {
        cout << 0;
        return 0;
    }
    
    cout << (felcserel.second ? 2: 1) << endl;
    for(int i: ans) {
        if (i) cout << i <<' ';
    }
    if (!felcserel.second) return 0;
    cout <<'\n';
    // cout << felcserel.first << ' ' << felcserel.second;

    // cout <<'\n';

    for(int i: ans) {
        if (i == felcserel.first) cout << felcserel.second << ' ';
        else if (i == felcserel.second) cout << felcserel.first << ' ';
        else if(i) cout << i <<' ';
    }
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base21/50
1Elfogadva0/01ms376 KiB
2Elfogadva0/01ms508 KiB
3Futási hiba0/061ms64000 KiB
4Elfogadva2/21ms316 KiB
5Hibás válasz0/31ms316 KiB
6Elfogadva3/31ms316 KiB
7Hibás válasz0/31ms316 KiB
8Elfogadva1/11ms316 KiB
9Elfogadva3/31ms316 KiB
10Elfogadva3/37ms4660 KiB
11Elfogadva3/313ms8172 KiB
12Elfogadva1/112ms8680 KiB
13Elfogadva2/212ms8772 KiB
14Elfogadva3/310ms8832 KiB
15Futási hiba0/164ms64000 KiB
16Futási hiba0/352ms64000 KiB
17Futási hiba0/550ms64000 KiB
18Futási hiba0/150ms64000 KiB
19Futási hiba0/261ms64000 KiB
20Futási hiba0/361ms64000 KiB
21Futási hiba0/450ms64000 KiB
22Futási hiba0/450ms64000 KiB