158112025-03-03 16:29:48oPletykálkodáscpp17Wrong answer 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;
}
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Wrong answer1ms316 KiB
2Wrong answer1ms316 KiB
3Accepted4ms316 KiB
subtask20/9
4Wrong answer1ms316 KiB
5Wrong answer1ms316 KiB
6Wrong answer1ms316 KiB
subtask313/13
7Accepted8ms1040 KiB
8Accepted8ms988 KiB
9Accepted8ms1176 KiB
subtask40/16
10Wrong answer1ms500 KiB
11Wrong answer1ms316 KiB
12Wrong answer1ms548 KiB
subtask50/25
13Wrong answer1ms316 KiB
14Wrong answer1ms316 KiB
15Wrong answer1ms316 KiB
16Wrong answer1ms316 KiB
17Wrong answer1ms316 KiB
18Wrong answer1ms316 KiB
19Wrong answer1ms316 KiB
subtask60/13
20Accepted7ms564 KiB
21Wrong answer7ms536 KiB
22Accepted7ms576 KiB
23Accepted6ms848 KiB
24Accepted4ms564 KiB
25Accepted4ms564 KiB
26Accepted8ms564 KiB
subtask724/24
27Accepted34ms1772 KiB
28Accepted35ms1536 KiB
29Accepted35ms1588 KiB
30Accepted35ms1336 KiB
31Accepted41ms1332 KiB
32Accepted50ms1076 KiB
33Accepted61ms1076 KiB
34Accepted74ms1080 KiB
35Accepted61ms1380 KiB
36Accepted70ms1076 KiB
37Accepted81ms1076 KiB