8995 2024. 02. 11 00:27:42 xxx Testnevelés óra cpp17 Elfogadva 50/50 219ms 25916 KiB
#include <bits/stdc++.h>
using namespace std;

const int mxN = 2 * (1e5 + 1);

vector<vector<int> > adj(mxN);
int in[mxN];


int main() {
	int n, m;

	cin >> n >> m;
	for(int i = 0; i < m; i++) {
		int x, y;
		cin >> x >> y;
		adj[x].push_back(y);
		in[y]++;
	}


	vector<int> top;
	queue<int> q;

	for(int i = 1; i <= n; i++) {
		if (in[i] == 0) {
			top.push_back(i);
			q.push(i);
		}
	}
	int ind, cntv = 0;
	bool flag = false;
	if(top.size() > 1) {
        flag = true;
        ind = 1;
	}

	while(!q.empty()) {
        int v = q.front();
        q.pop();
        int cnt = 0;
        cntv++;
        for(int u : adj[v]) {
            in[u]--;
            if (in[u] == 0) {
                q.push(u);
                top.push_back(u);
                cnt++;
            }
        }
        if (cnt >= 2) {
            flag = true;
            ind = top.size()-1;
        }
	}

	if (cntv < n) {
        cout << "0\n";
        return 0;
	}

    if (flag) {
        cout << "2\n";
        for(int x : top) {
            cout << x << ' ';
        }
        cout << endl;
        swap(top[ind], top[ind-1]);
        for(int x : top) {
            cout << x << ' ';
        }
        cout << endl;
    } else {
        cout << "1\n";
        for(int x : top) {
            cout << x << ' ';
        }
        cout << endl;
    }
	return 0;
}

Részfeladat Összpont Teszt Verdikt Idő Memória
base 50/50
1 Elfogadva 0/0 6ms 11032 KiB
2 Elfogadva 0/0 6ms 11296 KiB
3 Elfogadva 0/0 179ms 18424 KiB
4 Elfogadva 2/2 6ms 11296 KiB
5 Elfogadva 3/3 6ms 11552 KiB
6 Elfogadva 3/3 6ms 11748 KiB
7 Elfogadva 3/3 6ms 11964 KiB
8 Elfogadva 1/1 7ms 12172 KiB
9 Elfogadva 3/3 6ms 12432 KiB
10 Elfogadva 3/3 8ms 12616 KiB
11 Elfogadva 3/3 8ms 12600 KiB
12 Elfogadva 1/1 7ms 12608 KiB
13 Elfogadva 2/2 7ms 12580 KiB
14 Elfogadva 3/3 8ms 12668 KiB
15 Elfogadva 1/1 158ms 18144 KiB
16 Elfogadva 3/3 135ms 22812 KiB
17 Elfogadva 5/5 59ms 16140 KiB
18 Elfogadva 1/1 219ms 24544 KiB
19 Elfogadva 2/2 160ms 18496 KiB
20 Elfogadva 3/3 172ms 25792 KiB
21 Elfogadva 4/4 181ms 25916 KiB
22 Elfogadva 4/4 180ms 25912 KiB