Submission #599616

#TimeUsernameProblemLanguageResultExecution timeMemory
599616Ahmadsm2005Simurgh (IOI17_simurgh)C++14
30 / 100
142 ms2968 KiB
#include<bits/stdc++.h> #include "simurgh.h" //#include "grader.cpp" using namespace std; int DSU[300],N; int FIND(int x){ if(DSU[x]==x) return x; return DSU[x]=FIND(DSU[x]); } void CLEAR(){ for(int i=0;i<N;i++) DSU[i]=i; } vector<int>find_roads(int n, vector<int>u, vector<int>v){ N=n; CLEAR(); vector<int>CUR,CUR2; int Q=0; while(1){ CUR=CUR2; for(int i=0;i<CUR2.size();i++){ int A=FIND(u[CUR2[i]]),B=FIND(v[CUR2[i]]); DSU[A]=B; } for(int i=0;i<u.size();i++){ if(CUR.size()==n-2) break; int A=FIND(u[i]),B=FIND(v[i]); if(A==B) continue; DSU[A]=B; CUR.push_back(i); } int MX=-1,BEST; for(int i=0;i<u.size();i++){ int A=FIND(u[i]),B=FIND(v[i]); if(A==B) continue; CUR.push_back(i); int Z=count_common_roads(CUR); Q++; if(Q>30000) exit(1); if(Z==n-1) return CUR; if(Z>MX) MX=Z,BEST=i; CUR.pop_back(); } CUR2.push_back(BEST); CLEAR(); } }

Compilation message (stderr)

simurgh.cpp: In function 'std::vector<int> find_roads(int, std::vector<int>, std::vector<int>)':
simurgh.cpp:22:14: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   22 | for(int i=0;i<CUR2.size();i++){
      |             ~^~~~~~~~~~~~
simurgh.cpp:26:14: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   26 | for(int i=0;i<u.size();i++){
      |             ~^~~~~~~~~
simurgh.cpp:27:14: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   27 | if(CUR.size()==n-2)
      |    ~~~~~~~~~~^~~~~
simurgh.cpp:36:14: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   36 | for(int i=0;i<u.size();i++){
      |             ~^~~~~~~~~
#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...