#include "mushrooms.h"
#include <bits/stdc++.h>
using namespace std;
vector<int> especie;
int con;
int count_mushrooms(int n){
vector<int> m;
especie.assign(n,-1);
especie[0]=0;
int c1 = use_machine({0,1});
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 time | Memory | Grader output |
---|
Fetching results... |