제출 #652301

#제출 시각아이디문제언어결과실행 시간메모리
652301coding_snorlax버섯 세기 (IOI20_mushrooms)C++14
컴파일 에러
0 ms0 KiB
//#include "mushrooms.h" #include<bits/stdc++.h> using namespace std; int use_machine(vector<int> s){ int tmp; cin>>tmp; return tmp; } int count_mushrooms(int n){ int answer=0; vector<int> s={0}; vector<int> A={0}; vector<int> B; for(int i=1;i<min(n,200);i++){ s.push_back(i); if(use_machine(s)) B.push_back(i); else A.push_back(i); s.pop_back(); } answer=(int)A.size(); if(n<=200) return (int)A.size(); vector<int> Out; int Mark=0; if(A.size()>=100){ for(int i=0;i<100;i++){ Out.push_back(A[i]); Out.push_back(-1); } } else{ for(int i=0;i<100;i++){ Out.push_back(B[i]); Out.push_back(-1); } Mark=1; } for(int i=0;i<(n-200)/100;i++){ for(int j=0;j<100;j++){ Out[2*j+1]=200+100*i+j; } int num=use_machine(Out); if(Mark && num%2){ answer++; answer+=num/2; } else if(Mark){ answer+=num/2; } else if(!Mark && num%2){ answer+=100-num/2-1; } else{ answer+=100-num/2; } } vector<int> New; if(n%100){ if(A.size()>=100){ for(int i=0;i<n%100;i++){ New.push_back(A[i]); New.push_back(n-n%100+i); } } else{ for(int i=0;i<n%100;i++){ New.push_back(B[i]); New.push_back(n-n%100+i); } Mark=1; } int num=use_machine(New); if(Mark && num%2){ answer++; answer+=num/2; } else if(Mark){ answer+=num/2; } else if(!Mark && num%2){ answer+=n%100-num/2-1; } else{ answer+=n%100-num/2; } } return answer; } //本機測試 int main(){ cout<<count_mushrooms(5); }

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

/usr/bin/ld: /tmp/ccDDy4jS.o: in function `use_machine(std::vector<int, std::allocator<int> >)':
stub.cpp:(.text+0x210): multiple definition of `use_machine(std::vector<int, std::allocator<int> >)'; /tmp/ccSwWKCV.o:mushrooms.cpp:(.text+0x0): first defined here
/usr/bin/ld: /tmp/ccDDy4jS.o: in function `main':
stub.cpp:(.text.startup+0x0): multiple definition of `main'; /tmp/ccSwWKCV.o:mushrooms.cpp:(.text.startup+0x0): first defined here
collect2: error: ld returned 1 exit status