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