제출 #346140

#제출 시각아이디문제언어결과실행 시간메모리
346140lLab_Counting Mushrooms (IOI20_mushrooms)C++14
0 / 100
1 ms364 KiB
#include "mushrooms.h" #include <bits/stdc++.h> using namespace std; vector<int> A = {0}; void recur(vector<int> &S){ if(S.size()==2){ int d = use_machine(S); if(d == 0){ A.push_back(S[1]); } }else{ int d = use_machine(S); if(d == 0){ for(int i=1;i<S.size();i+=2){ A.push_back(S[i]); } return ; } int nS = S.size(); if(d > 0.6*nS) return; vector<int> S1,S2; int i=0; while(i<nS/2){ S1.push_back(S[i]); i++; } while(i<nS){ S2.push_back(S[i]); i++; } recur(S1); recur(S2); } } int count_mushrooms(int n) { int sum = 1; int i=1; while(i<n){ vector<int> S; int p=1; int nA = A.size(); int cnt = 0; for(int j=0;j<nA&&i<n;++j){ S.push_back(A[j]); S.push_back(i); p = i; i++; cnt++; } int d = use_machine(S); sum += cnt-(d+1)/2; if(d == 0){ for(int j=1;j<cnt*2;j+=2){ A.push_back(S[j]); } }else if(d < 1.2*cnt){ recur(S); } } return sum; }

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

mushrooms.cpp: In function 'void recur(std::vector<int>&)':
mushrooms.cpp:16:26: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   16 |             for(int i=1;i<S.size();i+=2){
      |                         ~^~~~~~~~~
mushrooms.cpp: In function 'int count_mushrooms(int)':
mushrooms.cpp:43:13: warning: variable 'p' set but not used [-Wunused-but-set-variable]
   43 |         int p=1;
      |             ^
#Verdict Execution timeMemoryGrader output
Fetching results...