4374 2023. 03. 27 11:07:01 1478 Testnevelés óra cpp17 Elfogadva 50/50 225ms 24992 KiB
#include <bits/stdc++.h>

using namespace std;

int main()
{
    ///koszi peti1234
    //ifstream cin("in.txt");
    //ofstream cout("out.txt");
    int n, k;
    cin >> n >> k;
    vector<vector<int>> sz(n + 1);
    vector<int> be(n + 1);
    for(int i = 1; i <= k; i++){
        int a, b;
        cin >> a >> b;
        sz[a].push_back(b);
        be[b]++;
    }

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

    vector<int> ans;
    while(!s.empty()){
        int f = s.front();
        //cout<<f<<" ";
        ans.push_back(f);
        s.pop();
        for(int x:sz[f]){
            be[x]--;
            if(!be[x]){
                s.push(x);
            }
        }
    }

   /* for(int i = 0; i < n; i++){
            cout << ans[i] << " ";
    }*/


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

    int hol = 0;
    for(int i = 0; i < n - 1; i++){
        int a = ans[i];
        int b = ans[i + 1];
        bool csere = 1;
        for(int x : sz[a]){
            if(b == x){
                csere = 0;
            }
        }
        if(csere){
            hol = i;
        }
    }

    if(hol == 0){
        cout << 1 << '\n';
        for(int i = 0; i < n; i++){
            cout << ans[i] << " ";
        }
    }
    else{
        cout << 2 << '\n';
        for(int i = 0; i < n; i++){
            cout << ans[i] << " ";
        }
        cout << '\n';
        swap(ans[hol], ans[hol + 1]);
        for(int i = 0; i < n; i++){
            cout << ans[i] << " ";
        }
    }



    return 0;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 50/50
1 Elfogadva 0/0 3ms 1840 KiB
2 Elfogadva 0/0 2ms 1984 KiB
3 Elfogadva 0/0 181ms 13980 KiB
4 Elfogadva 2/2 3ms 2524 KiB
5 Elfogadva 3/3 3ms 2768 KiB
6 Elfogadva 3/3 3ms 2980 KiB
7 Elfogadva 3/3 3ms 3044 KiB
8 Elfogadva 1/1 2ms 3156 KiB
9 Elfogadva 3/3 3ms 3364 KiB
10 Elfogadva 3/3 4ms 3388 KiB
11 Elfogadva 3/3 4ms 3656 KiB
12 Elfogadva 1/1 4ms 3756 KiB
13 Elfogadva 2/2 4ms 3864 KiB
14 Elfogadva 3/3 3ms 3952 KiB
15 Elfogadva 1/1 155ms 11416 KiB
16 Elfogadva 3/3 138ms 19932 KiB
17 Elfogadva 5/5 59ms 18464 KiB
18 Elfogadva 1/1 225ms 24992 KiB
19 Elfogadva 2/2 153ms 11940 KiB
20 Elfogadva 3/3 185ms 23612 KiB
21 Elfogadva 4/4 175ms 23616 KiB
22 Elfogadva 4/4 177ms 23616 KiB