本文主要是介绍1600*B. Ciel and Flowers(数学找规律),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Problem - 322B - Codeforces
解析:
我们先贪心选择第四种混合方式,直到数量最少的那朵花用完为止。对于剩余的两种花,各自继续贪心选择各自的同颜色方式。
此时可能剩余的两种花数量只可能有以下四种形式(我们把数量多的放前面):
2,2 / 2,1 / 2,0 / 1,1
对于这四种方式进行分析,如果我们拆开一朵混合方式的花,和上面的剩余花组成单色花。只有第一种2,2的情况会令答案+1,其余都不会产生正贡献。
所以我们特判是否剩余花数量为 4,然后答案+1即可。注意,答案+1必须判断有剩余的混合花才可以!!!
#include<bits/stdc++.h>
using namespace std;
#define int long long
int r,g,b;
signed main(){scanf("%lld%lld%lld",&r,&g,&b);int cnt=min(r,min(g,b));r-=cnt,g-=cnt,b-=cnt;int p=r/3+g/3+b/3;r%=3,g%=3,b%=3;if(r+g+b==4&&cnt>=1) cnt+=1;cout<<cnt+p;return 0;
}
这篇关于1600*B. Ciel and Flowers(数学找规律)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!