180422025-09-25 17:52:49algoproTestnevelés óracpp17Elfogadva 50/50231ms22188 KiB
// UUID: bca1ac27-551e-4a0f-ba8f-7e6c77b04626
#include <bits/stdc++.h>
using namespace std;

bool nemLehet = false;
vector<vector<int>> graf;
vector<bool> be;
vector<bool> ki;
vector<int> topol;

void bejar(int csucs){
	be[csucs] = true;
	for(int i = 0; i < graf[csucs].size(); i++){
		if(be[graf[csucs][i]] == false && ki[graf[csucs][i]] == false){
			bejar(graf[csucs][i]);
		}
		else if(be[graf[csucs][i]] == true && ki[graf[csucs][i]] == false){
			nemLehet = true;
		}
	}
	ki[csucs] = true;
	topol.push_back(csucs);
}

int main() {
	int n, k;
	cin >> n >> k;
	graf.resize(n+1);
	be.resize(n+1);
	ki.resize(n+1);
	for(int i = 0; i < k; i++){
		int a, b;
		cin >> a >> b;
		graf[a].push_back(b);
	}
	for(int i = 1; i <= n; i++){
		if(be[i] == false){
			bejar(i);
		}
	}
	if(nemLehet){
		cout << 0;
		return 0;
	}
	reverse(topol.begin(), topol.end());
	int csere = -1;
	for(int i = 0; i < n-1; i++){
		if(count(graf[topol[i]].begin(), graf[topol[i]].end(), topol[i+1]) == 0){
			csere = i;
		}
	}
	if(csere == -1){
		cout << 1 << endl;
		for(int i = 0; i < n; i++){
			cout << topol[i] << " ";
		}
	}
	else{
		cout << 2 << endl;
		for(int i = 0; i < n; i++){
			cout << topol[i] << " ";
		}
		cout << endl;
		for(int i = 0; i < n; i++){
			if(i == csere){
				cout << topol[i+1] << " " << topol[i] << " ";
			}
			else if(i != csere+1){
				cout << topol[i] << " ";
			}
		}
	}
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/01ms316 KiB
2Elfogadva0/01ms316 KiB
3Elfogadva0/0210ms6828 KiB
4Elfogadva2/21ms316 KiB
5Elfogadva3/31ms316 KiB
6Elfogadva3/31ms380 KiB
7Elfogadva3/31ms316 KiB
8Elfogadva1/11ms316 KiB
9Elfogadva3/31ms352 KiB
10Elfogadva3/33ms316 KiB
11Elfogadva3/33ms316 KiB
12Elfogadva1/13ms316 KiB
13Elfogadva2/23ms316 KiB
14Elfogadva3/32ms316 KiB
15Elfogadva1/1172ms4272 KiB
16Elfogadva3/3172ms9596 KiB
17Elfogadva5/559ms8656 KiB
18Elfogadva1/1231ms12196 KiB
19Elfogadva2/2163ms4540 KiB
20Elfogadva3/3212ms16804 KiB
21Elfogadva4/4202ms22188 KiB
22Elfogadva4/4206ms18860 KiB