182632025-10-16 18:49:14algoproTestnevelés óracpp17Hibás válasz 5/50222ms64000 KiB
// UUID: 68c5f1a0-7ecd-4793-9846-4111b2c95bd2
#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 (find(circle.begin(), circle.end(), memo[v][i]) != circle.end()) {
				done[done.size() - 1] = true;
				done[memo[v][i]] = true;
			}*/
		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());
	if (done[n]) {
		cout << 0;
	}
	else {
		cout << 1 << endl;
		for (int i:tps) {
			cout << i + 1 << " ";
		}
	}
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base5/50
1Elfogadva0/01ms316 KiB
2Hibás válasz0/01ms500 KiB
3Hibás válasz0/0186ms6084 KiB
4Hibás válasz0/21ms316 KiB
5Hibás válasz0/31ms316 KiB
6Hibás válasz0/31ms316 KiB
7Hibás válasz0/31ms316 KiB
8Futási hiba0/161ms64000 KiB
9Hibás válasz0/31ms380 KiB
10Hibás válasz0/33ms400 KiB
11Hibás válasz0/33ms316 KiB
12Futási hiba0/172ms64000 KiB
13Elfogadva2/23ms436 KiB
14Hibás válasz0/32ms316 KiB
15Elfogadva1/1168ms4208 KiB
16Hibás válasz0/3143ms8896 KiB
17Hibás válasz0/532ms7080 KiB
18Hibás válasz0/1203ms10912 KiB
19Elfogadva2/2159ms4528 KiB
20Hibás válasz0/3206ms16048 KiB
21Hibás válasz0/4222ms21168 KiB
22Hibás válasz0/4211ms18092 KiB