234542026-01-23 09:39:03ercseferencTestnevelés óracpp17Accepted 50/50229ms13352 KiB
#include <bits/stdc++.h>
using namespace std;
int main()
{
    //ifstream f("szamok.txt");
    int n,m; cin>>n>>m;
    vector<int>a[n+1];
    vector<int>t(n+1);
    for(int i=0; i<m; i++){
        int x,y; cin>>x>>y;
        a[x].push_back(y); t[y]++;}
    int vand=-1;
    queue<int>q;
    for(int i=1; i<=n; i++){
        if(t[i]==0)q.push(i);}
    vector<int>ut;
    while(!q.empty()){
        int x=q.front();
        q.pop();
        ut.push_back(x);
        if(!q.empty())vand=ut.size()-1;
        for(int i:a[x]){
            t[i]--;
            if(t[i]==0)q.push(i);}
        }
    if(ut.size()!=n)cout<<0<<endl;
    else if(vand==-1){
        cout<<1<<endl;
        for(int i:ut)cout<<i<<" ";
        }
    else {
        cout<<2<<endl;
        for(int i:ut)cout<<i<<" ";
        cout<<endl;
        for(int i=0; i<n; i++){
            if(i==vand)cout<<ut[i+1]<<" ";
            else if(i==vand+1)cout<<ut[i-1]<<" ";
            else cout<<ut[i]<<" ";}}
    return 0;
}
SubtaskSumTestVerdictTimeMemory
base50/50
1Accepted0/01ms316 KiB
2Accepted0/01ms316 KiB
3Accepted0/0199ms7352 KiB
4Accepted2/21ms316 KiB
5Accepted3/31ms316 KiB
6Accepted3/31ms316 KiB
7Accepted3/31ms316 KiB
8Accepted1/11ms316 KiB
9Accepted3/31ms316 KiB
10Accepted3/32ms316 KiB
11Accepted3/33ms316 KiB
12Accepted1/13ms316 KiB
13Accepted2/23ms368 KiB
14Accepted3/32ms316 KiB
15Accepted1/1166ms4492 KiB
16Accepted3/3143ms9728 KiB
17Accepted5/557ms10192 KiB
18Accepted1/1229ms13352 KiB
19Accepted2/2165ms4528 KiB
20Accepted3/3206ms11644 KiB
21Accepted4/4187ms11704 KiB
22Accepted4/4180ms11692 KiB