AT4510 [AGC030A] Poisonous Cookies 题解

题意简述


题目给定有 AA 个不好吃的解毒曲奇,BB 个好吃的解毒曲奇,CC 个好吃的有毒曲奇

吃了一个有毒曲奇就会中毒,在中毒情况下,吃下一个解毒曲奇可以解毒,但在中毒情况下,在吃一个毒曲奇就会去世。

问最多可以吃多少个好吃的曲奇。

解题思路


分类讨论

  1. a+bca+b \geqslant c

这意味着他可以将所有好吃的饼干都吃完,所以这里输出 b+cb+c 即可。

  1. a+b<ca+b < c

这表示他无法将所有的饼干吃完,但他可以将所有的好吃的解毒曲奇吃完(bb 块),也能吃完 a+ba+b 块好吃的有毒曲奇,且最后还能吃一块好吃的有毒曲奇。这时输出 a+2×b+1a + 2 \times b +1 即可。

代码实现


#include<bits/stdc++.h>
using namespace std;
int a,b,c;
int main() {
	scanf("%d%d%d",&a,&b,&c);
	if(a+b>=c) printf("%d",b+c);
	else printf("%d",a+b*2+1);
	return 0;
}
//code by TheCedar