제출 #308440

#제출 시각아이디문제언어결과실행 시간메모리
308440dekanycsaba버섯 세기 (IOI20_mushrooms)C++14
25 / 100
131 ms672 KiB
#include "mushrooms.h" #include<vector> #include<iostream>; using namespace std; int aszam=0; int bszam=0; int eredeti=0; vector<int> A; vector<int> B; int count_mushrooms(int n) { std::vector<int> m; int c1,c2; A.push_back(0); aszam++; if(n==2) { m={0,1}; c1=use_machine(m); if(c1==0) { aszam=2; } else{ aszam=1; } } else{ m.push_back(0); m.push_back(0); for(int i=1;i<=2;i++) { m[1]=i; c1=use_machine(m); if(c1==0) { A.push_back(i); aszam++; } else{ B.push_back(i); bszam++; } } m.clear(); int tartunk=2; if(aszam>bszam) { m.push_back(A[0]); m.push_back(0); m.push_back(A[1]); m.push_back(0); while(tartunk<=n-1) { tartunk++; if(tartunk==n-1) { m.clear(); m.push_back(A[0]); m.push_back(tartunk); m.push_back(A[1]); c1=use_machine(m); if(c1>0) { B.push_back(tartunk); bszam++; } else{ A.push_back(tartunk); aszam++; } m.clear(); break; } else if(tartunk<n-1){ m[1]=tartunk; tartunk++; m[3]=tartunk; c1=use_machine(m); if(c1==0) { aszam++; aszam++; A.push_back(tartunk-1); A.push_back(tartunk); } else if(c1==1) { aszam++; bszam++; A.push_back(tartunk-1); B.push_back(tartunk); } else if(c1==2) { aszam++; bszam++; B.push_back(tartunk-1); A.push_back(tartunk); } else{ bszam++; bszam++; B.push_back(tartunk-1); B.push_back(tartunk); } } } } else{ m.push_back(B[0]); m.push_back(0); m.push_back(B[1]); m.push_back(0); while(tartunk<=n-1) { tartunk++; if(tartunk==n-1) { m.clear(); m.push_back(B[0]); m.push_back(tartunk); m.push_back(B[1]); c1=use_machine(m); if(c1>0) { A.push_back(tartunk); aszam++; } else{ B.push_back(tartunk); bszam++; } break; } else if(tartunk<n-1){ m[1]=tartunk; tartunk++; m[3]=tartunk; c1=use_machine(m); if(c1==0) { bszam++; bszam++; B.push_back(tartunk-1); B.push_back(tartunk); } else if(c1==1) { aszam++; bszam++; B.push_back(tartunk-1); A.push_back(tartunk); } else if(c1==2) { aszam++; bszam++; A.push_back(tartunk-1); B.push_back(tartunk); } else{ aszam++; aszam++; A.push_back(tartunk-1); A.push_back(tartunk); } } } } /*m.push_back(0); m.push_back(0); for(int i=1;i<=2;i++) { m[1]=i; c1=use_machine(m); if(c1==0) { A.push_back(i); aszam++; } else{ B.push_back(i); bszam++; } } m.clear(); int tartunk=2; if(aszam>bszam) { m.push_back(A[0]); m.push_back(0); m.push_back(A[1]); m.push_back(0); while(tartunk<=n-1 && tartunk<=200) { tartunk++; if(tartunk==n-1 && tartunk<=200) { m.clear(); m.push_back(A[0]); m.push_back(tartunk); m.push_back(A[1]); c1=use_machine(m); if(c1>0) { B.push_back(tartunk); bszam++; } else{ A.push_back(tartunk); aszam++; } m.clear(); break; } else if(tartunk<n-1 && tartunk<=200){ m[1]=tartunk; tartunk++; m[3]=tartunk; c1=use_machine(m); if(c1==0) { aszam++; aszam++; A.push_back(tartunk-1); A.push_back(tartunk); } else if(c1==1) { aszam++; bszam++; A.push_back(tartunk-1); B.push_back(tartunk); } else if(c1==2) { aszam++; bszam++; B.push_back(tartunk-1); A.push_back(tartunk); } else{ bszam++; bszam++; B.push_back(tartunk-1); B.push_back(tartunk); } } } } else{ m.push_back(B[0]); m.push_back(0); m.push_back(B[1]); m.push_back(0); while(tartunk<=n-1 && tartunk<=200) { tartunk++; if(tartunk==n-1 && tartunk<=200) { m.clear(); m.push_back(B[0]); m.push_back(tartunk); m.push_back(B[1]); c1=use_machine(m); if(c1>0) { A.push_back(tartunk); aszam++; } else{ B.push_back(tartunk); bszam++; } break; } else if(tartunk<n-1 && tartunk<=200){ m[1]=tartunk; tartunk++; m[3]=tartunk; c1=use_machine(m); if(c1==0) { bszam++; bszam++; B.push_back(tartunk-1); B.push_back(tartunk); } else if(c1==1) { aszam++; bszam++; B.push_back(tartunk-1); A.push_back(tartunk); } else if(c1==2) { aszam++; bszam++; A.push_back(tartunk-1); B.push_back(tartunk); } else{ aszam++; aszam++; A.push_back(tartunk-1); A.push_back(tartunk); } } } } m.clear(); tartunk=200; if(tartunk+1<n) { if(aszam>bszam) { eredeti=aszam; for(int i=0;i<aszam;i++) { m.push_back(A[i]); m.push_back(0); } while(tartunk!=n-1) { c2=tartunk; if(n-1-c2<=eredeti) { m.clear(); for(int i=0;i<n-1-c2;i++) { m.push_back(A[i]); tartunk++; m.push_back(tartunk); } c1=use_machine(m); if(c1%2==1) { bszam=bszam+1+(c1-1)/2; aszam=n-1-1-c2-(c1-1)/2; } else{ bszam=bszam+c1/2; aszam=n-1-c2-c1/2; } break; } else{ for(int i=0;i<eredeti;i++) { tartunk++; m[2*i+1]=tartunk; } c1=use_machine(m); if(c1%2==1) { bszam=bszam+1+(c1-1)/2; aszam=eredeti-1-(c1-1)/2; } else{ bszam=bszam+c1/2; aszam=eredeti-c1/2; } } } } else{ eredeti=bszam; for(int i=0;i<bszam;i++) { m.push_back(B[i]); m.push_back(0); } while(tartunk!=n-1) { c2=tartunk; if(n-1-c2<=eredeti) { m.clear(); for(int i=0;i<n-1-c2;i++) { m.push_back(B[i]); tartunk++; m.push_back(tartunk); } c1=use_machine(m); if(c1%2==1) { aszam=aszam+1+(c1-1)/2; bszam=n-1-1-c2-(c1-1)/2; } else{ aszam=aszam+c1/2; bszam=n-1-c2-c1/2; } break; } else{ for(int i=0;i<eredeti;i++) { tartunk++; m[2*i+1]=tartunk; } c1=use_machine(m); if(c1%2==1) { aszam=aszam+1+(c1-1)/2; bszam=eredeti-1-(c1-1)/2; } else{ aszam=aszam+c1/2; bszam=eredeti-c1/2; } } } } } */} return aszam; }

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

mushrooms.cpp:3:19: warning: extra tokens at end of #include directive
    3 | #include<iostream>;
      |                   ^
mushrooms.cpp: In function 'int count_mushrooms(int)':
mushrooms.cpp:12:9: warning: unused variable 'c2' [-Wunused-variable]
   12 |  int c1,c2;
      |         ^~
#Verdict Execution timeMemoryGrader output
Fetching results...