题目描述
在一个奇幻游乐园里,有一台 神奇的金币机,它有两个插槽,你可以从这两个插槽中取金币。
取金币的规则很简单:
如果插槽上显示的数字为 N,表示你可以一次从该插槽中取走 N 个金币。但插槽上的数字会跳到 N−1,即:下次再从这个插槽取,就只能一次取走 N−1 个金币。
取金币前,两个插槽上的数字分别是 A 和 B。你一共可以操作两次,可以选择从同一个插槽取两次,也可以选择分别从两个插槽中各取一次。
你的任务是:帮助游乐园的游客小 A 找到一种操作方法,使他在两次操作中获得最多的金币。
输入两个正整数,用空格隔开。
输出一个值,表示能获得的最大金币数。
解题思路
题目要求只能两次操作,每次操作完取过的插槽金币上限会减一,不难推理出 其实只需要分析A和B的大小关系 若A>B 则取两次A 因为A>B A取过一次后减一后要么还是比B大 要么和B一样大 ,同理A<B的情况就取B两次 若A和B相同,那就各取一次
参考程序
#include<bits/stdc++.h>
using namespace std;
int main(){
int a,b;
cin>>a>>b;
if(a==b){
cout<<a+b;
}else{
cout<<max(a,b)*2-1;
}
}