void solve(){
int a,b,x,y;cin>>a>>b>>x>>y;
int ans=inf;
for(int i=0;i<=20;i++){
for(int j=0;j<=20;j++){
int restA=a,restB=b,iNeed=0;
restA-=j*y,restB-=j*y;
if(restA>0)iNeed+=(restA+x-1)/x;
if(restB>0)iNeed+=(restB+x-1)/x;
if(iNeed<=i)ans=min(ans,i+j);
}
}
cout<<ans<<endl;
}
考虑到每种攻击最多进行20次,因此可以选择枚举所有选择的组合,判断其能否同时击杀两个怪

京公网安备 11010502036488号