제출 #777484

#제출 시각아이디문제언어결과실행 시간메모리
777484alexander707070드문 곤충 (IOI22_insects)C++17
컴파일 에러
0 ms0 KiB
#include<bits/stdc++.h> #include "insects.h" #define MAXN 2007 using namespace std; int n,last,cnt,ans; vector<int> diff,same; int type[MAXN]; bool used[MAXN]; int solve_small(){ for(int i=1;i<n;i++){ diff.clear(); for(int i=0;i<n;i++){ if(used[i])continue; move_inside(i); diff.push_back(i); if(press_button()>1){ move_outside(i); diff.pop_back(); } } if(last!=diff.size()){ return i; } for(int i:diff){ used[i]=true; move_outside(i); } } return n; } void solve_big(){ cnt=ans=n; while(cnt>0){ same.clear(); for(int i=0;i<n;i++){ if(used[i])continue; move_inside(i); same.push_back(i); if(press_button()!=same.size()){ same.pop_back(); move_outside(i); } } ans=min(ans,int(same.size())); for(int i:same){ used[i]=true; move_outside(i); } } return ans; } int min_cardinality(int N){ n=N; last=-1; for(int i=0;i<n;i++){ move_inside(i); diff.push_back(i); if(press_button()>1){ move_outside(i); diff.pop_back(); } } if(diff.size()>=sqrt(n)+1){ last=diff.size(); for(int i:diff){ used[i]=true; move_outside(i); } return solve_small(); }else{ return solve_big(); } return n; }

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

insects.cpp: In function 'int solve_small()':
insects.cpp:27:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   27 |         if(last!=diff.size()){
      |            ~~~~^~~~~~~~~~~~~
insects.cpp: In function 'void solve_big()':
insects.cpp:51:30: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   51 |             if(press_button()!=same.size()){
      |                ~~~~~~~~~~~~~~^~~~~~~~~~~~~
insects.cpp:65:12: error: return-statement with a value, in function returning 'void' [-fpermissive]
   65 |     return ans;
      |            ^~~
insects.cpp: In function 'int min_cardinality(int)':
insects.cpp:90:25: error: void value not ignored as it ought to be
   90 |         return solve_big();
      |                ~~~~~~~~~^~