4755 | 2023. 03. 31 11:05:39 | Erik_Gepard | Testnevelés óra | cpp17 | Futási hiba 27/50 | 4ms | 4428 KiB |
#include <bits/stdc++.h>
using namespace std;
vector <int> Graf[10011];
vector<bool> bejart;
vector<int> ans;
int m, n;
int eleres[10011];
void dfs(int v) {
bejart[v] = true;
for (int u : Graf[v]) {
if (!bejart[u])
dfs(u);
}
ans.push_back(v);
}
void topological_sort() {
bejart.assign(n+1, false);
ans.clear();
for (int i = n; i > 0; i--) {
if (!bejart[i])
dfs(i);
}
reverse(ans.begin(), ans.end());
for(int i=0; i<ans.size(); i++) {
eleres[ans[i]]=i;
}
}
int main() {
cin>>n>>m;
for (int i=1; i<=m; i++) {
int a, b;
cin>>a>>b;
Graf[a].push_back(b);
}
topological_sort();
for(int i=1; i<=n; i++) {
for(int sz: Graf[i]) {
if(eleres[i]>eleres[sz]) {
cout<<0<<"\n";
return 0;
}
}
}
int csere=-1;
for(int i=1; i<n; i++){
int a=ans[i-1], b=ans[i], lehet=1;
for(int x : Graf[a]){
if(x==b){
lehet=0;
}
}
if(lehet){
csere=i-1;
}
}
if(csere==-1){
cout<<1<<"\n";
for (int i=0; i<ans.size(); i++) {
cout<<ans[i]<<" ";
}
}
else{
cout<<2<<"\n";
for (int i=0; i<ans.size(); i++) {
cout<<ans[i]<<" ";
}
cout<<"\n";
cerr<<csere;
for (int i=0; i<ans.size(); i++) {
if(i==csere){
cout<<ans[i+1];
}
else if(i==csere+1){
cout<<ans[i-1];
}
else{
cout<<ans[i];
}
cout<<" ";
}
cout<<"\n";
}
return 0;
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
base | 27/50 | ||||||
1 | Elfogadva | 0/0 | 3ms | 2244 KiB | |||
2 | Elfogadva | 0/0 | 3ms | 2404 KiB | |||
3 | Futási hiba | 0/0 | 3ms | 2716 KiB | |||
4 | Elfogadva | 2/2 | 3ms | 2828 KiB | |||
5 | Elfogadva | 3/3 | 3ms | 3040 KiB | |||
6 | Elfogadva | 3/3 | 3ms | 3296 KiB | |||
7 | Elfogadva | 3/3 | 3ms | 3468 KiB | |||
8 | Elfogadva | 1/1 | 3ms | 3680 KiB | |||
9 | Elfogadva | 3/3 | 3ms | 3900 KiB | |||
10 | Elfogadva | 3/3 | 4ms | 4012 KiB | |||
11 | Elfogadva | 3/3 | 4ms | 4176 KiB | |||
12 | Elfogadva | 1/1 | 4ms | 4024 KiB | |||
13 | Elfogadva | 2/2 | 4ms | 4020 KiB | |||
14 | Elfogadva | 3/3 | 3ms | 4024 KiB | |||
15 | Futási hiba | 0/1 | 3ms | 4196 KiB | |||
16 | Futási hiba | 0/3 | 3ms | 4428 KiB | |||
17 | Futási hiba | 0/5 | 3ms | 4304 KiB | |||
18 | Futási hiba | 0/1 | 3ms | 4340 KiB | |||
19 | Futási hiba | 0/2 | 3ms | 4428 KiB | |||
20 | Futási hiba | 0/3 | 3ms | 4368 KiB | |||
21 | Futási hiba | 0/4 | 3ms | 4400 KiB | |||
22 | Futási hiba | 0/4 | 3ms | 4400 KiB |