179702025-09-24 18:01:49algoproTestnevelés óracpp17Hibás válasz 7/50209ms12072 KiB
// UUID: addd31f9-85d3-4414-97f1-98ea4f9714ba
#include <algorithm>
#include <bits/stdc++.h>
#include <climits>
#include <queue>
#include <vector>
using namespace std;

//A maximális int az 2^31-1 ami nagyobb mint 10^9 de kisseb mint 10^10

int main() {
int n, t;
    cin >> n >> t;

    vector<vector<int>> fa(n);
    vector<int> indeg(n, 0);

    for (int i = 0; i < t; i++) {
        int a, b;
        cin >> a >> b;
        a--, b--;
        fa[a].push_back(b);
        indeg[b]++;
    }

    queue<int> q;
    for (int i = 0; i < n; i++) {
        if (indeg[i] == 0) q.push(i);
    }

    vector<int> lista;
    int count = 0;

    while (!q.empty()) {
        if (q.size() > 1) count++; 

        int u = q.front();
        q.pop();
        lista.push_back(u);

        for (int v : fa[u]) {
            indeg[v]--;
            if (indeg[v] == 0) q.push(v);
        }
    }

    if ((int)lista.size() != n) {
        cout << 0;
        return 0;
    }

    cout << count+1 << "\n";
    for (int x : lista) cout << x + 1 << " ";
    cout << "\n";
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base7/50
1Elfogadva0/01ms316 KiB
2Hibás válasz0/01ms316 KiB
3Hibás válasz0/0186ms6588 KiB
4Hibás válasz0/21ms508 KiB
5Hibás válasz0/31ms316 KiB
6Hibás válasz0/31ms352 KiB
7Hibás válasz0/31ms316 KiB
8Elfogadva1/11ms316 KiB
9Hibás válasz0/31ms316 KiB
10Hibás válasz0/32ms316 KiB
11Hibás válasz0/33ms448 KiB
12Elfogadva1/13ms436 KiB
13Elfogadva2/22ms316 KiB
14Hibás válasz0/31ms316 KiB
15Elfogadva1/1158ms4476 KiB
16Hibás válasz0/3123ms8960 KiB
17Hibás válasz0/534ms8892 KiB
18Hibás válasz0/1209ms12072 KiB
19Elfogadva2/2158ms4528 KiB
20Hibás válasz0/3167ms10668 KiB
21Hibás válasz0/4164ms10668 KiB
22Hibás válasz0/4167ms10668 KiB