Submission #18667

#TimeUsernameProblemLanguageResultExecution timeMemory
18667suhgyuho_williamParachute rings (IOI12_rings)C++98
20 / 100
4101 ms40872 KiB
#include <vector> using namespace std; int N; vector<int> edge[1000010]; void Init(int N_) { N = N_; } void Link(int A, int B) { A++; B++; edge[A].push_back(B); edge[B].push_back(A); } int j; bool check[1000010],flag; void dfs(int x,int par){ int i,v,cnt = 0; check[x] = true; for(i=0; i<edge[x].size(); i++){ v = edge[x][i]; if(v == par || v == j) continue; if(check[v]){ flag = false; continue; } dfs(v,x); cnt++; if(cnt == 2){ flag = false; break; } } } int CountCritical() { int i,cnt = 0,t,v; for(j=1; j<=N; j++){ for(i=1; i<=N; i++) check[i] = false; flag = true; check[j] = true; for(i=1; i<=N; i++){ if(!check[i]){ t = 0; for(int k=0; k<edge[i].size(); k++){ v = edge[i][k]; if(v == j) continue; t++; if(t == 3){ flag = false; break; } dfs(v,i); } } if(!flag) break; } if(flag) cnt++; } return cnt; }

Compilation message (stderr)

rings.cpp: In function 'void dfs(int, int)':
rings.cpp:24:12: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(i=0; i<edge[x].size(); i++){
           ~^~~~~~~~~~~~~~~
rings.cpp: In function 'int CountCritical()':
rings.cpp:46:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int k=0; k<edge[i].size(); k++){
                  ~^~~~~~~~~~~~~~~
#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...