234542026-01-23 09:39:03ercseferencTestnevelés óracpp17Elfogadva 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;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/01ms316 KiB
2Elfogadva0/01ms316 KiB
3Elfogadva0/0199ms7352 KiB
4Elfogadva2/21ms316 KiB
5Elfogadva3/31ms316 KiB
6Elfogadva3/31ms316 KiB
7Elfogadva3/31ms316 KiB
8Elfogadva1/11ms316 KiB
9Elfogadva3/31ms316 KiB
10Elfogadva3/32ms316 KiB
11Elfogadva3/33ms316 KiB
12Elfogadva1/13ms316 KiB
13Elfogadva2/23ms368 KiB
14Elfogadva3/32ms316 KiB
15Elfogadva1/1166ms4492 KiB
16Elfogadva3/3143ms9728 KiB
17Elfogadva5/557ms10192 KiB
18Elfogadva1/1229ms13352 KiB
19Elfogadva2/2165ms4528 KiB
20Elfogadva3/3206ms11644 KiB
21Elfogadva4/4187ms11704 KiB
22Elfogadva4/4180ms11692 KiB