刚看到这道题目的时候没有看懂,后来发现自己读错题了。。。。
这道题是说有三种颜色的球,有一个平台,规则是,第一个球不得分,放在最后的球的得分是他前面的球的颜色的种类和,第三种,是在两个球之间插一个球,它的得分是,它前面的颜色种类和和它后面的颜色种类和,那么肯定是后面这种得分多,当出现2,2,2,的时候是最完美的,但是如果有的种类不足两个那么怎么办呢,把不超过2的,记录它现在的数目,超过2的当2坐底子,此时底子的得分是(底子个数-1)*底子个数,然后后面就迎刃而解了
#include <iostream>
using namespace std;
int main()
{
long long a,b,c;
while(cin>>a>>b>>c)
{
long long aa=0,bb=0,cc=0;
long long sum=0;
if(a>=2&&b>=2&&c>=2)
sum=15+(a-2+b-2+c-2)*6;
/*else if((a==0&&b==0&&c==0)||(a==0&&b==0&&c==1)||(a=0&&b==1&&c==0)||(a==1&&b==0&&c==0))
sum+=0;
else if(a==1&&b==1&&c==1)
sum+=3;
else if((a==0&&b==0&&c==2)||(a==2&&b==0&&c==0)||(a==0&&b==2&&c==0))
sum+=2;
else if(a+b+c==2)
sum+=1;
else if((a==0&&b==0&&c>2)||(a>2&&b==0&&c==0)||(a==0&&b>2&&c==0))
{
sum+=(a+b+c-2)*2+1;
}*/
else
{
aa=a<2?a:2;
bb=b<2?b:2;
cc=c<2?c:2;
//cout<<aa<<" "<<bb<<" "<<cc<<endl;
//cout<<a<<" "<<b<<" "<<c<<endl;
sum=(a+b+c-aa-bb-cc)*(aa+bb+cc)+(aa+bb+cc-1)*(aa+bb+cc)/2;
}
cout<<sum<<endl;
}
return 0;
}