大水题,就算是简单的数学题吧,不过之前看题的时候因为before和after还弄得没明白题意。
根据规则,如果球的数量足够(每种都不少于2个),从第一个开始放置的时候,依次增加的分数为,0,1,2,3,4,5,6,6,6,6……,如果只有某一个颜色的球只有一个则,0,1,2,3,4,5,5,5……,依次类推……于是只要知道最后固定增长的数字的值,就很容易计算出来了。
注意要用long long保存哦~在这个地方wa了一次。。。。。
#include<iostream>
using namespace std;
int main()
{
long long i,j,k,num,ans,a,b,c;
while(cin>>a>>b>>c)
{
num=0;
if(a>=2)
{
num+=2;
a-=2;
}
else
{
num+=a;
a=0;
}
if(b>=2)
{
num+=2;
b-=2;
}
else
{
num+=b;
b=0;
}
if(c>=2)
{
num+=2;
c-=2;
}
else
{
num+=c;
c=0;
}
ans=(num-1)*num/2+num*(a+b+c);
cout<<ans<<endl;
}
}