题意:
两个不一样颜色的气球可以变成另一种颜色的气球,求能否全部变成一种颜色的气球,如果能变成一种颜色的气球则输出最少需要几次,否者输出) :
解题思路:
暴力即可,先把三个数由小到大排序,然后分两种情况讨论:
1、任意两个颜色相同即可,a==b||b==c;最小次数就是b;
2、任意两个数的差是三的倍数即可。b-a%3==0||c-a%3==0||c-b%3==0;最小次数就是减数(b,c,c,)。
程序:
#include<stdio.h>
#include<iostream>
#include<algorithm>
using namespace std;
int a[3];
int main()
{
int n,i,m,s;
while(cin>>a[0]>>a[1]>>a[2])
{
sort(a,a+3);
if(a[0]==a[1]||a[1]==a[2])
{
n=a[1];
}
else if((a[1]-a[0])%3==0)
{
n=a[1];
}
else if((a[2]-a[1])%3==0)
{
n=a[2];
}
else if((a[2]-a[0])%3==0)
{
n=a[2];
}
else
{
cout<<"):"<<endl;
continue;
}
cout<<n<<endl;
}
return 0;
}