179602025-09-24 17:22:23algoproTestnevelés óracpp17Elfogadva 50/50239ms13468 KiB
// UUID: 79230575-b428-4003-bd07-ff5339f42904
#include <bits/stdc++.h>
using namespace std;

int main() {
	int n, k;
	cin>>n>>k;
	vector<vector<int>>v(n+1);
	vector<int>be(n+1, 0);
	for(int i=1; i<=k; i++){
		int a, b;
		cin>>a>>b;
		v[a].push_back(b);
		be[b]++;
	}
	queue<int>s;
	int w=-1;
	for(int i=1; i<=n; i++) if(be[i]==0)s.push(i);
	vector<int>m;
	while(!s.empty()){
		int c=s.front();
		s.pop();
		m.push_back(c);
		if(!s.empty()) w=m.size()-1;
		for(int x : v[c]){
			be[x]--;
			if(be[x]==0) s.push(x);
		}
	}
	if(m.size()!=n) cout<<0<<endl;
	else if(w==-1){
		cout<<1<<endl;
		for(int x : m) cout<<x<<" ";
	}
	else{
		cout<<2<<endl;
		for(int x : m) cout<<x<<" ";
		cout<<endl;
		for(int i=0; i<n; i++){
			if(i==w) cout<<m[i+1];
			else if(i==(w+1)) cout<<m[i-1];
			else cout<<m[i];
			cout<<" ";
		}
	}
	
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/01ms316 KiB
2Elfogadva0/01ms316 KiB
3Elfogadva0/0211ms7352 KiB
4Elfogadva2/21ms316 KiB
5Elfogadva3/31ms316 KiB
6Elfogadva3/31ms316 KiB
7Elfogadva3/31ms316 KiB
8Elfogadva1/11ms512 KiB
9Elfogadva3/31ms316 KiB
10Elfogadva3/32ms316 KiB
11Elfogadva3/33ms316 KiB
12Elfogadva1/12ms316 KiB
13Elfogadva2/22ms316 KiB
14Elfogadva3/32ms316 KiB
15Elfogadva1/1156ms4436 KiB
16Elfogadva3/3138ms9796 KiB
17Elfogadva5/559ms10004 KiB
18Elfogadva1/1239ms13468 KiB
19Elfogadva2/2165ms4704 KiB
20Elfogadva3/3187ms11692 KiB
21Elfogadva4/4219ms11688 KiB
22Elfogadva4/4222ms11700 KiB