题解:P13013 [GESP202506 五级] 奖品兑换
The_Seas_Tears · · 题解
前言:
赛时作者评价:真简单,贪心水题。
题意:
老师给小杨发了
思路:
可以让当前拥有券数大的和兑奖需要的券数大的相减,让拥有券数少的和兑奖需要的券数少的相减,如果已经兑换不了一个奖品了,就退出循环,否则让计数器
代码:
#include<bits/stdc++.h>
using namespace std;
int n,m,a,b;
int main(){
cin>>n>>m>>a>>b;
long long cnt=0;
while((n>=a&&m>=b)||(m>=a&&n>=b)){//可以换奖品
if(n>=m){//如果当前拥有的课堂优秀券多
n-=max(a,b);
m-=min(a,b);
}else{
m-=max(a,b);
n-=min(a,b);
}
cnt++;//计数器++
}
cout<<cnt;
}
后记:
作者赛时