제출 #1243822

#제출 시각아이디문제언어결과실행 시간메모리
1243822simplemind_31Counting Mushrooms (IOI20_mushrooms)C++20
25 / 100
27 ms420 KiB
#include "mushrooms.h" #include <bits/stdc++.h> using namespace std; vector<int> especie; int con; int count_mushrooms(int n){ if(n==2){ if(use_machine({0,1})){ return 1; }else{ return 2; } } vector<int> m; especie.assign(n,-1); especie[0]=0; if(use_machine({0,1})){ especie[1]=1; }else{ especie[1]=0; } if(use_machine({0,2})){ especie[2]=1; }else{ especie[2]=0; } if(especie[1]==0 || especie[2]==0){ int desti; if(especie[1]==0){ desti=1; }else{ desti=2; } for(int i=3;i+1<n;i+=2){ int x=use_machine({0,i,desti,i+1}); if(x==0){ especie[i]=especie[i+1]=0; }else if(x==1){ especie[i]=0; especie[i+1]=1; }else if(x==2){ especie[i+1]=0; especie[i]=1; }else{ especie[i]=especie[i+1]=1; } } if(especie[n-1]==-1){ if(use_machine({0,n-1})){ especie[n-1]=1; }else{ especie[n-1]=0; } } }else{ for(int i=3;i+1<n;i+=2){ int x=use_machine({1,i,2,i+1}); if(x==0){ especie[i]=especie[i+1]=1; }else if(x==1){ especie[i]=1; especie[i+1]=0; }else if(x==2){ especie[i+1]=1; especie[i]=0; }else{ especie[i]=especie[i+1]=0; } } if(especie[n-1]==-1){ if(use_machine({0,n-1})){ especie[n-1]=1; }else{ especie[n-1]=0; } } } for(int i=0;i<n;i++){ if(especie[i]==0){ con++; } } return con; }
#Verdict Execution timeMemoryGrader output
Fetching results...