154642025-02-19 19:11:23horkaTestnevelés óracpp17Accepted 50/50138ms15016 KiB
#include <bits/stdc++.h>
using namespace std;

int main()
{
    ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
    int n,k; cin>>n>>k;
    vector<int> be(n+1);
    vector<vector<int>> adj(n+1);
    for(int i=0; i<k;i++)
    {
        int a,b; cin>>a>>b;
        be[b]++;
        adj[a].push_back(b);
    }
    vector<int> s=be;
    deque<int> q;
    for(int i=1; i<=n; i++)
    {
        if(!be[i]) q.push_back(i);
    }
    vector<int> sorr1,sorr2;
    int cnt=0;
    while(!q.empty())
    {
        int cs=q.front();
        q.pop_front();
        cnt++;
        sorr1.push_back(cs);
        for(int &i:adj[cs])
        {
            s[i]--;
            if(s[i]==0)
            {
                q.push_back(i);
            }
        }
    }
    if(cnt<n)
    {
        cout<<"0\n";
        return 0;
    }
    s=be;
    for(int i=1; i<=n; i++)
        if(!s[i])
    {
        q.push_front(i);
    }
    while(!q.empty())
    {
        int cs=q.front();
        q.pop_front();
        sorr2.push_back(cs);
        for(int &i:adj[cs])
        {
            s[i]--;
            if(s[i]==0)
            {
                q.push_front(i);
            }
        }
    }
    if(sorr1==sorr2)
    {
        cout<<"1\n";
        for(int i:sorr1)
            cout<<i<<" ";
        cout<<"\n";
    }
    else
    {
        cout<<"2\n";
        for(int i:sorr1)
            cout<<i<<" ";
        cout<<"\n";
        for(int i:sorr2)
            cout<<i<<" ";
        cout<<"\n";
    }
}
SubtaskSumTestVerdictTimeMemory
base50/50
1Accepted0/01ms508 KiB
2Accepted0/01ms316 KiB
3Accepted0/0103ms7980 KiB
4Accepted2/21ms316 KiB
5Accepted3/31ms316 KiB
6Accepted3/31ms316 KiB
7Accepted3/31ms316 KiB
8Accepted1/11ms316 KiB
9Accepted3/31ms316 KiB
10Accepted3/32ms316 KiB
11Accepted3/32ms316 KiB
12Accepted1/12ms508 KiB
13Accepted2/22ms508 KiB
14Accepted3/31ms316 KiB
15Accepted1/179ms4904 KiB
16Accepted3/386ms10920 KiB
17Accepted5/546ms11680 KiB
18Accepted1/1138ms15016 KiB
19Accepted2/278ms5188 KiB
20Accepted3/3131ms12940 KiB
21Accepted4/4133ms13024 KiB
22Accepted4/4133ms12840 KiB