158112025-03-03 16:29:48oPletykálkodáscpp17Hibás válasz 37/10081ms1772 KiB
#include <bits/stdc++.h>
using namespace std;

int main() 
{
  ios::sync_with_stdio(false);
  cin.tie(nullptr);
  int n,m;
  cin>>n>>m;
  if(n<1000){
    return 0;
  }
  if(n==1){
    cout<<0<<'\n';
    return 0;
  }
  vector<vector<int>>g(n+1);
  for(int i=0;i<m;i++){
    int a,b;
    cin>>a>>b;
    g[a].push_back(b);
    g[b].push_back(a);
  }
  vector<array<int,4>>c;
  for(int i=1;i<=n;i++){
    vector<int>v(n+1);
    for(int j:g[i]){
      for(int k:g[j]){
        if(k==i){
          continue;
        }
        if(v[k]){
          c.push_back({i,j,k,v[k]});
        }
        v[k]=j;
      }
    }
  }
  for(auto[a,b,c,d]:c){
    vector<int>v(n+1);
    vector<pair<int,int>>e;
    auto dfs=[&](auto f,int i)->void{
      for(int j:g[i]){
        if(v[j]){
          continue;
        }
        v[j]=1;
        f(f,j);
        e.emplace_back(i,j);
      }
    };
    v[a]=1;
    v[b]=1;
    v[c]=1;
    v[d]=1;
    dfs(dfs,a);
    dfs(dfs,b);
    if(count(v.begin()+1,v.end(),0)){
      continue;
    }
    cout<<e.size()*2+4<<endl;
    for(auto[a,b]:e){
      cout<<a<<' '<<b<<endl;
    }
    cout<<a<<' '<<d<<endl;
    cout<<b<<' '<<c<<endl;
    cout<<c<<' '<<d<<endl;
    cout<<a<<' '<<b<<endl;
    reverse(e.begin(),e.end());
    for(auto[a,b]:e){
      cout<<a<<' '<<b<<endl;
    }
    return 0;
  }
  vector<pair<int,int>>e;
  vector<int>v(n+1);
  auto dfs=[&](auto f,int i)->void{
    for(int j:g[i]){
      if(v[j]){
        continue;
      }
      v[j]=1;
      f(f,j);
      e.emplace_back(i,j);
    }
  };
  v[1]=1;
  dfs(dfs,1);
  cout<<e.size()*2-1<<'\n';
  for(auto[a,b]:e){
    cout<<a<<' '<<b<<'\n';
  }
  e.pop_back();
  reverse(e.begin(),e.end());
  for(auto[a,b]:e){
    cout<<a<<' '<<b<<'\n';
  }
  return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Hibás válasz1ms316 KiB
2Hibás válasz1ms316 KiB
3Elfogadva4ms316 KiB
subtask20/9
4Hibás válasz1ms316 KiB
5Hibás válasz1ms316 KiB
6Hibás válasz1ms316 KiB
subtask313/13
7Elfogadva8ms1040 KiB
8Elfogadva8ms988 KiB
9Elfogadva8ms1176 KiB
subtask40/16
10Hibás válasz1ms500 KiB
11Hibás válasz1ms316 KiB
12Hibás válasz1ms548 KiB
subtask50/25
13Hibás válasz1ms316 KiB
14Hibás válasz1ms316 KiB
15Hibás válasz1ms316 KiB
16Hibás válasz1ms316 KiB
17Hibás válasz1ms316 KiB
18Hibás válasz1ms316 KiB
19Hibás válasz1ms316 KiB
subtask60/13
20Elfogadva7ms564 KiB
21Hibás válasz7ms536 KiB
22Elfogadva7ms576 KiB
23Elfogadva6ms848 KiB
24Elfogadva4ms564 KiB
25Elfogadva4ms564 KiB
26Elfogadva8ms564 KiB
subtask724/24
27Elfogadva34ms1772 KiB
28Elfogadva35ms1536 KiB
29Elfogadva35ms1588 KiB
30Elfogadva35ms1336 KiB
31Elfogadva41ms1332 KiB
32Elfogadva50ms1076 KiB
33Elfogadva61ms1076 KiB
34Elfogadva74ms1080 KiB
35Elfogadva61ms1380 KiB
36Elfogadva70ms1076 KiB
37Elfogadva81ms1076 KiB