/*
HDU - 4811
题目大意是
给你一定数量的三种球
然后每摆一个球根据他给的规则算分
问最多多少分
多列几组找规律
前几个肯定是单独算分
然后后面摆的要符合规律的话
肯定每次最多6分(任意取一种球摆在中间,左边三种颜色都有,右边也三种颜色都有)
就会发现可以总结成一个等式
最多得分=提前摆的得分+每摆一个得分*(总球数-提前摆的球数)
要注意的是最后可能发现给的某一种球数根本就不到2个
可能就1个甚至没有
但也符合上面的等式
而
提前摆的得分=1+2+……+(提前摆的球数-1)
*/
#include <iostream>
#include <stdio.h>
#include <algorithm>
#include <math.h>
#include <string.h>
#define pi acos(-1.0)
#define ll long long
using namespace std;
int main()
{
ll r,y,b;
while(cin>>r>>y>>b)
{
ll rr=r,yy=y,bb=b;
if(rr>=2)
rr=2;
if(yy>=2)
yy=2;
if(bb>=2)
bb=2;
ll s=rr+yy+bb;
ll ans=((s-1)*s)/2;
ans=ans+s*(r+y+b-s);
cout<<ans<<endl;
}
return 0;
}
HDU - 4811
题目大意是
给你一定数量的三种球
然后每摆一个球根据他给的规则算分
问最多多少分
多列几组找规律
前几个肯定是单独算分
然后后面摆的要符合规律的话
肯定每次最多6分(任意取一种球摆在中间,左边三种颜色都有,右边也三种颜色都有)
就会发现可以总结成一个等式
最多得分=提前摆的得分+每摆一个得分*(总球数-提前摆的球数)
要注意的是最后可能发现给的某一种球数根本就不到2个
可能就1个甚至没有
但也符合上面的等式
而
提前摆的得分=1+2+……+(提前摆的球数-1)
*/
#include <iostream>
#include <stdio.h>
#include <algorithm>
#include <math.h>
#include <string.h>
#define pi acos(-1.0)
#define ll long long
using namespace std;
int main()
{
ll r,y,b;
while(cin>>r>>y>>b)
{
ll rr=r,yy=y,bb=b;
if(rr>=2)
rr=2;
if(yy>=2)
yy=2;
if(bb>=2)
bb=2;
ll s=rr+yy+bb;
ll ans=((s-1)*s)/2;
ans=ans+s*(r+y+b-s);
cout<<ans<<endl;
}
return 0;
}