hdu 4811 Ball 思维题
2016-10-22 12:06
411 查看
传送门:hdu4811
不多说了,直接上题解。。http://blog.csdn.net/w446506278/article/details/51915485
如果题解给的求前几个球得分的公式看不明白,可以用下面的方法。
一开始自己只想明白了当两边球颜色种类都达到最大时,再往里加球得分是固定的。。至于前几个球怎么放,我只想到了分情况解决。。
除了上面那一篇题解,看了其他题解发现真的可以分情况打表,不过我并没有想到要打表,只是单纯地想多分几种情况而已,能打表是因为如果有某种颜色的球不足两个,那么无论是哪种颜色缺球,在缺的球数量相同的情况下得分是固定的。
附上打表代码:http://blog.csdn.net/q295657451/article/details/39007241
其实根据他打的表可以统计出一个更为简单的表,f[0]=f[1]=0,f[2]=1,f[3]=3,f[4]=6,f[5]=10,f[6]=15.
附上自己的代码(基本抄题解)
#include <iostream>
#include <cstdio>
#include <cstring>
#define ll long long
using namespace std;
int main()
{
ll a,b,c;
while(~scanf("%lld%lld%lld",&a,&b,&c))
{
ll aa=a>2?2:a;
ll bb=b>2?2:b;
ll cc=c>2?2:c;
ll t=aa+bb+cc;
printf("%lld\n",(t-1)*t/2+(a+b+c-t)*t);
}
return 0;
}
不多说了,直接上题解。。http://blog.csdn.net/w446506278/article/details/51915485
如果题解给的求前几个球得分的公式看不明白,可以用下面的方法。
一开始自己只想明白了当两边球颜色种类都达到最大时,再往里加球得分是固定的。。至于前几个球怎么放,我只想到了分情况解决。。
除了上面那一篇题解,看了其他题解发现真的可以分情况打表,不过我并没有想到要打表,只是单纯地想多分几种情况而已,能打表是因为如果有某种颜色的球不足两个,那么无论是哪种颜色缺球,在缺的球数量相同的情况下得分是固定的。
附上打表代码:http://blog.csdn.net/q295657451/article/details/39007241
其实根据他打的表可以统计出一个更为简单的表,f[0]=f[1]=0,f[2]=1,f[3]=3,f[4]=6,f[5]=10,f[6]=15.
附上自己的代码(基本抄题解)
#include <iostream>
#include <cstdio>
#include <cstring>
#define ll long long
using namespace std;
int main()
{
ll a,b,c;
while(~scanf("%lld%lld%lld",&a,&b,&c))
{
ll aa=a>2?2:a;
ll bb=b>2?2:b;
ll cc=c>2?2:c;
ll t=aa+bb+cc;
printf("%lld\n",(t-1)*t/2+(a+b+c-t)*t);
}
return 0;
}
相关文章推荐
- [思考] hdu 4811 Ball
- HDU 4811 Ball -2013 ICPC南京区域现场赛
- [思路] hdu 4811 Ball
- HDU 4811 Ball 公式
- HDU 4811 Ball(水)
- hdu 4811 Ball
- HDU 4811 Ball(超直白解释)
- HDU - 5821 Ball 思维
- 2013南京站J题||hdu 4811 思维
- HDU 4811 Ball(贪心)
- HDU 4811 Ball
- hdu-4811 Ball
- hdu 4811 Ball(数学)
- HDU 4811——Ball
- -----hdu 4811 ball
- HDU 4811 Ball 模拟
- HDU 4811 Ball(贪心)
- HDU-4811 Ball 想法题
- HDU 5821 Ball (排序、思维题)
- hdu 5821 Ball 贪心+思维