제출 #1089822

#제출 시각아이디문제언어결과실행 시간메모리
1089822alexander707070Koala Game (APIO17_koala)C++14
44 / 100
47 ms604 KiB
#include<bits/stdc++.h> #define MAXN 107 #include "koala.h" using namespace std; int b[MAXN],r[MAXN]; int minValue(int N, int W) { b[0]=1; playRound(b,r); for(int i=0;i<N;i++){ if(r[i]==0)return i; } return 0; } vector<int> can,best; void reset(){ best.clear(); can.clear(); for(int i=0;i<100;i++)b[i]=0; } int maxValue(int N, int W) { reset(); for(int i=0;i<50;i++){ b[i]=2; } playRound(b,r); for(int i=0;i<50;i++){ if(r[i]>=3)can.push_back(i); } for(int i=0;i<100;i++){ if(i<50)b[i]=0; else b[i]=2; } playRound(b,r); for(int i=50;i<100;i++){ if(r[i]>=3)can.push_back(i); } for(int i=0;i<100;i++)b[i]=0; cout<<can.size()<<":\n"; for(int i:can)b[i]=3; playRound(b,r); for(int i:can){ if(r[i]>=4)best.push_back(i); } for(int i=0;i<100;i++)b[i]=0; for(int i:best)b[i]=7; playRound(b,r); for(int i:best){ if(r[i]>=8)return i; } } bool compare(int x,int y){ for(int i=0;i<100;i++)b[i]=0; int ll=0,rr=10,tt; while(ll+1<rr){ tt=(ll+rr)/2; b[x]=b[y]=tt; playRound(b,r); if(r[x]<tt and r[y]<tt){ rr=tt; }else if(r[x]>=tt and r[y]>=tt){ ll=tt; }else{ if(r[x]>=tt)return false; else return true; } } return false; } int greaterValue(int N, int W) { if(compare(0,1))return 1; else return 0; } int order[MAXN]; void allValues(int N, int W, int *P) { for(int i=0;i<100;i++){ order[i]=i; } sort(order,order+100,compare); for(int i=0;i<N;i++){ P[order[i]]=i+1; } }

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

koala.cpp: In function 'int maxValue(int, int)':
koala.cpp:66:1: warning: control reaches end of non-void function [-Wreturn-type]
   66 | }
      | ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...