180302025-09-25 17:07:23algoproTestnevelés óracpp17Elfogadva 50/50167ms21668 KiB
// UUID: c59c9af4-b9f8-44d9-a935-2d06db4fc20f
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define F first
#define S second
#define pii  pair<int, int>
#define pb push_back
#define srt(x) x.begin(),x.end()
const int INF = 1e9;

vector<vector<int>>g;
vector<int>vis;
vector<int>top;

void dfs(int v)
{
    vis[v] = 1;
    for(int u : g[v])
    {
        if(vis[u] == 1)
        {
            cout << 0;
            exit(0);
        }
        if(vis[u] == 0) dfs(u);
    }
    vis[v] = 2;
    top.pb(v);
}

signed main() {
    ios::sync_with_stdio(false);cin.tie(nullptr);
	int n, k; cin >> n >> k;
    g.resize(n);
    vis.resize(n, 0);
    while(k--)
    {
        int a, b; cin >> a >> b;
        g[--a].pb(--b);
    }
    for(int i = 0; i < n; i++) if(vis[i] == 0) dfs(i);
    reverse(srt(top));
    bool x = 0;
    for(int i = 0; i < n-1; i++)
    {
        x = 0;
        for(int u : g[top[i]])
        {
            if(u == top[i+1]) x = 1;
        }
        if(!x)
        {
            cout << 2 << "\n";
            break;
        }
        if(i == n-2) cout << 1 << "\n";
    }
    for(int u : top) cout << u+1 << " ";
    cout << "\n";
    if(!x)
    {
        for(int i = 0; i < n; i++)
        {
            if(x) cout << top[i]+1 << " ";
            else
            {
                if(i < n-1)
                {
                    x = 1;
                    for(int u : g[top[i]])
                    {
                        if(u == top[i+1]) x = 0;
                    }
                    if(x)
                    {
                        swap(top[i], top[i+1]);
                    }
                }
                cout << top[i]+1 << " ";
            }
        }
    }
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/01ms316 KiB
2Elfogadva0/01ms316 KiB
3Elfogadva0/0101ms8872 KiB
4Elfogadva2/21ms316 KiB
5Elfogadva3/31ms316 KiB
6Elfogadva3/31ms316 KiB
7Elfogadva3/31ms316 KiB
8Elfogadva1/11ms316 KiB
9Elfogadva3/31ms316 KiB
10Elfogadva3/32ms316 KiB
11Elfogadva3/32ms316 KiB
12Elfogadva1/12ms316 KiB
13Elfogadva2/22ms316 KiB
14Elfogadva3/31ms452 KiB
15Elfogadva1/179ms5804 KiB
16Elfogadva3/390ms11136 KiB
17Elfogadva5/541ms10916 KiB
18Elfogadva1/1128ms14972 KiB
19Elfogadva2/275ms6060 KiB
20Elfogadva3/3131ms17572 KiB
21Elfogadva4/4160ms21668 KiB
22Elfogadva4/4167ms19108 KiB