180572025-09-25 18:43:04algoproTestnevelés óracpp17Hibás válasz 4/5064ms64000 KiB
// UUID: 2e980a51-57a1-46b7-b688-5c2543bc2e72
#include <bits/stdc++.h>
#include <queue>
using namespace std;

int main() {
    ios::sync_with_stdio(false);
    cin.tie(0);
    int n, m;cin >> n >> m;
    vector<vector<int>> g(n+1, vector<int>(n+1));
    vector<int> c(n+1, 0);
    for(int i = 0; i < m; i++)
    {
        int a,b;cin >> a >> b;
        c[b]++;
        g[a].push_back(b);
    }
    queue<int> q;
    vector<int> ans;
    for(int i = 1; i <= n; i++) if(c[i] == 0) q.push(i); 
    while(!q.empty())
    {
        int v = q.front();
        ans.push_back(v);
        q.pop();
       
        for(int e: g[v])
        {
            c[e]--;
            if(c[e] == 0) q.push(e);
        }
    }
    if(ans.size() < n)
    {
        cout << "0";
        return 0;
    }
    // vector<int>ans2 = ans;
    // for(int i = 0; i < n-1; i++)
    // {
    //     int a = ans[i];int b = ans[i+1];
    //     bool connected = false;
    //     for(int e: g[a])
    //     {
    //         if(e == b) connected = true;
    //     }
    //     if(!connected)
    //     {
    //         swap(ans2[i], ans2[i+1]);
    //         cout << "2\n";
    //         for(int v: ans) cout << v << " ";
    //         cout << "\n";
    //         for(int v: ans2) cout << v << " ";
    //         return 0;
    //     }         
    // }
    cout << "1\n";
    for(int a: ans) cout << a << " ";
}

/*


beolvasasás
befokok számolása

sor létrehozása
források a sorba

queue <int> q;
vector <int> ans;

while (q.size()>0){
    
    int x = q.front();
    q.pop();

    for (int y : g[x]) {
        y befokát csökkentem
        ha 0-ra csökkent, akkor beteszem a sorba
    }

}

ans mérete alapján eldöntöm

----------------------------------------

Létezik-e több?


*/
RészfeladatÖsszpontTesztVerdiktIdőMemória
base4/50
1Elfogadva0/01ms316 KiB
2Hibás válasz0/01ms316 KiB
3Futási hiba0/064ms64000 KiB
4Hibás válasz0/21ms320 KiB
5Hibás válasz0/31ms316 KiB
6Hibás válasz0/31ms316 KiB
7Hibás válasz0/31ms316 KiB
8Elfogadva1/11ms316 KiB
9Hibás válasz0/31ms316 KiB
10Hibás válasz0/36ms4844 KiB
11Hibás válasz0/39ms8076 KiB
12Elfogadva1/110ms8616 KiB
13Elfogadva2/213ms8724 KiB
14Hibás válasz0/310ms8688 KiB
15Futási hiba0/152ms64000 KiB
16Futási hiba0/363ms64000 KiB
17Futási hiba0/563ms64000 KiB
18Futási hiba0/150ms64000 KiB
19Futási hiba0/261ms64000 KiB
20Futási hiba0/361ms64000 KiB
21Futási hiba0/450ms64000 KiB
22Futási hiba0/461ms64000 KiB