Submission #591629

#TimeUsernameProblemLanguageResultExecution timeMemory
591629andrei_boacaPotemkin cycle (CEOI15_indcyc)C++14
80 / 100
942 ms2036 KiB
#include <bits/stdc++.h> //#pragma GCC optimize("O3") using namespace std; mt19937 rng(time(NULL)); vector<int> muchii[1005]; auto S=chrono::steady_clock::now(); int n,m; vector<int> v; int use[1005]; int start=0; void dfs(int nod) { auto E=chrono::steady_clock::now(); int x=chrono::duration_cast<chrono::milliseconds>(E - S).count(); if(x>=950) { cout<<"no"; exit(0); } use[nod]=v.size(); bool good=1; bool ok=0; if(nod==4&&start==2) { /*for(int i:v) cout<<i<<' ';*/ ok=1; } int pmax=0; for(int i:muchii[nod]) { if(use[i]) { if(i==v[v.size()-2]) continue; if(i==start) { if(v.size()>=4); else good=0; } else if(i!=v[v.size()-2]) good=0; pmax=max(pmax,use[i]); } } if(v.size()-pmax+1>=4&&pmax!=0) { for(int i=pmax-1;i<v.size();i++) cout<<v[i]<<' '; exit(0); } if(good) { for(int i:muchii[nod]) if(!use[i]) { v.push_back(i); dfs(i); use[i]=0; v.pop_back(); } } } int main() { cin>>n>>m; for(int i=1;i<=m;i++) { int a,b; cin>>a>>b; muchii[a].push_back(b); muchii[b].push_back(a); } for(int i=1;i<=n;i++) shuffle(muchii[i].begin(),muchii[i].end(),rng); vector<int> nodes; for(int i=1;i<=n;i++) nodes.push_back(i); shuffle(nodes.begin(),nodes.end(),rng); for(int i:nodes) { start=i; v.clear(); v.push_back(i); for(int j=1;j<=n;j++) use[j]=0; dfs(i); } cout<<"no"; return 0; }

Compilation message (stderr)

indcyc.cpp: In function 'void dfs(int)':
indcyc.cpp:50:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   50 |         for(int i=pmax-1;i<v.size();i++)
      |                          ~^~~~~~~~~
indcyc.cpp:23:10: warning: variable 'ok' set but not used [-Wunused-but-set-variable]
   23 |     bool ok=0;
      |          ^~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...