180452025-09-25 18:03:59algoproTestnevelés óracpp17Futási hiba 21/5061ms64000 KiB
// UUID: 022635fe-6acc-46ec-bad6-2955da7e679c
#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);
        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/01ms544 KiB
2Elfogadva0/01ms320 KiB
3Futási hiba0/050ms64000 KiB
4Elfogadva2/21ms348 KiB
5Hibás válasz0/31ms316 KiB
6Elfogadva3/31ms316 KiB
7Hibás válasz0/31ms316 KiB
8Elfogadva1/11ms316 KiB
9Elfogadva3/31ms316 KiB
10Elfogadva3/38ms4768 KiB
11Elfogadva3/313ms7992 KiB
12Elfogadva1/112ms8708 KiB
13Elfogadva2/214ms8760 KiB
14Elfogadva3/310ms8832 KiB
15Futási hiba0/152ms64000 KiB
16Futási hiba0/361ms64000 KiB
17Futási hiba0/561ms64000 KiB
18Futási hiba0/152ms64000 KiB
19Futási hiba0/252ms64000 KiB
20Futási hiba0/361ms64000 KiB
21Futási hiba0/461ms64000 KiB
22Futási hiba0/450ms64000 KiB