43282023-03-24 16:03:23horvathabelTestnevelés óracpp17Hibás válasz 5/50200ms38128 KiB
#include <bits/stdc++.h>
using namespace std;
vector<int> g[200001];
vector<int> topo;
bool seen[2000001];
void dfs(int x){
	if (!seen[x]){
		seen[x]=true; 
		for (int edge:g[x]){
			dfs(edge);
		}
		topo.push_back(x);

	}
}

int main() {
	int n,m;
	cin>>n>>m;
	for (int i=0; i<m;i++){
		int x,y;
		cin>>x>>y;
		g[x].push_back(y);
	}
	for (int i=1; i<=n;i++){
		if (!seen[i]){
			dfs(i);
		}
	}
	reverse(topo.begin(), topo.end());
	cout<<1<<endl; 
	for (int x:topo) cout<<x<<" "; 
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base5/50
1Elfogadva0/07ms11304 KiB
2Hibás válasz0/07ms11856 KiB
3Hibás válasz0/0172ms17888 KiB
4Hibás válasz0/27ms11676 KiB
5Hibás válasz0/36ms11672 KiB
6Hibás válasz0/36ms11944 KiB
7Hibás válasz0/34ms12232 KiB
8Hibás válasz0/16ms12052 KiB
9Hibás válasz0/36ms12452 KiB
10Hibás válasz0/37ms12428 KiB
11Hibás válasz0/37ms12500 KiB
12Hibás válasz0/17ms12732 KiB
13Elfogadva2/28ms12964 KiB
14Hibás válasz0/37ms12888 KiB
15Elfogadva1/1160ms17828 KiB
16Hibás válasz0/3131ms22736 KiB
17Hibás válasz0/532ms15560 KiB
18Hibás válasz0/1200ms23164 KiB
19Elfogadva2/2163ms18280 KiB
20Hibás válasz0/3174ms31876 KiB
21Hibás válasz0/4179ms38128 KiB
22Hibás válasz0/4177ms34324 KiB