182652025-10-16 19:01:13algoproTestnevelés óracpp17Wrong answer 7/50225ms64000 KiB
// UUID: 8ed840b0-3aae-4daa-9b67-ce1667d01d46
#include <bits/stdc++.h>
#include <cctype>
#include <vector>
using namespace std;

void melysegi(vector<vector<int>> &memo, int v, vector<int> &tps, vector<bool> &done) {
	for (int i = 0;i < memo[v].size();i++) {
		if (!done[memo[v][i]]) {
			melysegi(memo, memo[v][i], tps, done);
			done[memo[v][i]] = true;
			tps.push_back(memo[v][i]);
		}
	}
}

int main() {
	int n,k;cin >> n >> k;
	vector<vector<int>> memo(n,vector<int>(0,0));
	int s = 0,l = 0;
	for (int i = 0;i < k;i++) {
		cin >> s >> l;
		memo[s - 1].push_back(l - 1);
	}
	/*
	for (int i = 0; i < n;i++) {
		for (int j = 0; j < memo[i].size();j++) {
			cout << memo[i][j] << " ";
		}
		cout << endl;
	}
	cout << "-------------------------" << endl;
	*/
	vector<bool> done(n + 1,false);
	vector<int> tps(0,0);
	for (int i = 0; i < n;i++) {
		if (!done[i]) {
			melysegi(memo, i, tps, done);
			done[i] = true;
			tps.push_back(i);
		}
	}
	reverse(tps.begin(), tps.end());
	int ans = 1;
	int swapplace = 0;
	if (done[n]) {
		cout << 0;
	}
	else {
		for (int i = 0;i < n - 1;i++) {
			if (find(memo[tps[i]].begin(), memo[tps[i]].end(), tps[i + 1]) == memo[tps[i]].end()) {
				ans++;
				swapplace = i;
				break;
			}
		}
		cout << ans << endl;
		for (int i:tps) {
			cout << i + 1 << " ";
		}
		cout << endl;
		if (ans == 2) {
			for (int i = 0;i < n;i++) {
				if (swapplace == i) {
					cout << tps[i + 1] + 1;
				}
				else {
					if (swapplace + 1 == i) {
						cout << tps[i - 1] + 1;
					}
					else {
						cout << tps[i] + 1;
					}
				}
			}
		}
	}
}
SubtaskSumTestVerdictTimeMemory
base7/50
1Accepted0/01ms316 KiB
2Wrong answer0/01ms316 KiB
3Wrong answer0/0189ms6572 KiB
4Wrong answer0/21ms316 KiB
5Partially correct1/31ms316 KiB
6Wrong answer0/31ms508 KiB
7Wrong answer0/31ms316 KiB
8Runtime error0/172ms64000 KiB
9Wrong answer0/31ms316 KiB
10Wrong answer0/33ms412 KiB
11Wrong answer0/33ms328 KiB
12Runtime error0/161ms64000 KiB
13Accepted2/24ms316 KiB
14Wrong answer0/32ms316 KiB
15Accepted1/1162ms4212 KiB
16Wrong answer0/3143ms9488 KiB
17Partially correct1/546ms8360 KiB
18Wrong answer0/1215ms12072 KiB
19Accepted2/2159ms4528 KiB
20Wrong answer0/3225ms16816 KiB
21Wrong answer0/4200ms21936 KiB
22Wrong answer0/4192ms18692 KiB