1600*B. Ciel and Flowers(数学&找规律)

Problem - 322B - Codeforces

1600*B. Ciel and Flowers(数学&找规律)_第1张图片

解析:

        我们先贪心选择第四种混合方式,直到数量最少的那朵花用完为止。对于剩余的两种花,各自继续贪心选择各自的同颜色方式。

        此时可能剩余的两种花数量只可能有以下四种形式(我们把数量多的放前面):

        2,2      /         2,1        /      2,0       /      1,1

        对于这四种方式进行分析,如果我们拆开一朵混合方式的花,和上面的剩余花组成单色花。只有第一种2,2的情况会令答案+1,其余都不会产生正贡献。

        所以我们特判是否剩余花数量为 4,然后答案+1即可。注意,答案+1必须判断有剩余的混合花才可以!!!

#include
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<

你可能感兴趣的:(codeforces,算法,c++,c语言,开发语言,数学,组合数学)