제출 #948267

#제출 시각아이디문제언어결과실행 시간메모리
948267Lib경주 (Race) (IOI11_race)C++14
컴파일 에러
0 ms0 KiB
#include <bits/stdc++.h> //#include "race.h" using namespace std; vector <vector <pair <int,int> > > adj; vector <pair <int,int> > TVector; int SubtreeSize[300003]; int CurParent[300003]; int IteratedAdj[300003]; int Deleted[300003]; int Visited[300003]; int DistFromRoot[300003]; vector <int> CurRoots; vector <int> Centroids; long long ans=999999; int N,Tar; int cur; void DFS(){ vector <int> DFStack; CurRoots.clear(); for(int i=0;i<=N;i++){ CurParent[i]=-1; IteratedAdj[i]=0; SubtreeSize[i]=1; DistFromRoot[i]=0; } for(int i=0;i<N;i++){ if(!Deleted[i]&&!Visited[i]){ DFStack.push_back(i); CurRoots.push_back(i); Visited[i]=1; while(!DFStack.empty()){ cur=DFStack.back(); //cout<<cur<<" "; Visited[cur]=1; if(adj[cur][IteratedAdj[cur]].first==CurParent[cur]){ IteratedAdj[cur]++; } if(IteratedAdj[cur]<adj[cur].size()-1){ //still has children DFStack.push_back(adj[cur][IteratedAdj[cur]].first); CurParent[adj[cur][IteratedAdj[cur]].first]=cur; DistFromRoot[adj[cur][IteratedAdj[cur]].first]=DistFromRoot[cur]+adj[cur][IteratedAdj[cur]].second; IteratedAdj[cur]++; }else{ //no more children. Remove from DFStack SubtreeSize[CurParent[cur]]+=SubtreeSize[cur]; DFStack.pop_back(); } } } } for(int i=0;i<CurRoots.size();i++){ pr:; //cout<<"9"; for(int k=0;k<adj[CurRoots[i]].size();k++){ if(SubtreeSize[adj[CurRoots[i]][k].first]>SubtreeSize[CurRoots[i]]/2){ CurRoots[i]=adj[CurRoots[i]][k].first; goto pr; } } } } void Solve(){ } int main(){ cin>>N>>Tar; int s,e,w; for(int i=0;i<=N+1;i++){ adj.push_back(TVector); Visited[i]=0; } for(int i=1;i<N;i++){ cin>>s>>e>>w; adj[s].push_back({e,w}); adj[e].push_back({s,w}); } DFS(); cout<<CurRoots[0]; } int best_path(int n, int k, int H[][2], int L[]){ N=n; Tar=k; for(int i=0;i<=N+1;i++){ adj.push_back(TVector); } for(int i=1;i<=N-1;i++){ adj[H[i-1][0]].push_back({H[i-1][1],L[i-1]}); adj[H[i-1][1]].push_back({H[i-1][0],L[i-1]}); } for(int i=0;i<=N;i++){ Deleted[i]=0; } Solve; if(ans==999999){ return -1; }else{ return ans; } } /* 7 100 0 1 1 0 2 1 2 3 1 2 4 1 3 5 1 2 6 1 */

컴파일 시 표준 에러 (stderr) 메시지

race.cpp: In function 'void DFS()':
race.cpp:38:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   38 |     if(IteratedAdj[cur]<adj[cur].size()-1){ //still has children
      |        ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
race.cpp:50:15: 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=0;i<CurRoots.size();i++){
      |              ~^~~~~~~~~~~~~~~~
race.cpp:53:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   53 |   for(int k=0;k<adj[CurRoots[i]].size();k++){
      |               ~^~~~~~~~~~~~~~~~~~~~~~~~
race.cpp: In function 'int best_path(int, int, int (*)[2], int*)':
race.cpp:92:2: warning: statement is a reference, not call, to function 'Solve' [-Waddress]
   92 |  Solve;
      |  ^~~~~
race.cpp:92:2: warning: statement has no effect [-Wunused-value]
/usr/bin/ld: /tmp/cc5vl1R7.o: in function `main':
race.cpp:(.text.startup+0x0): multiple definition of `main'; /tmp/cc5E2Uv5.o:grader.cpp:(.text.startup+0x0): first defined here
collect2: error: ld returned 1 exit status