| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
Re:最强的剪枝In Reply To:最强的剪枝 Posted by:yihuikang at 2012-07-26 20:13:21 > 事实上当某种石头个数太大的时候,截掉一截即可,
> 我的处理是:
> if (x>60)
> if (x%2) x=61;
> else x=60;
> 这样数据范围就很小了,怎么做都能过~
> 为什么是60?
> 因为1~6的最小公倍数是60。
算是数据处理吧,哪里算剪枝。。而且,可以做得更好。
用数组a存储1-6的石头的个数
int a[7];
int b[7] = {1, 60, 30, 20, 15, 12, 10};
for(i = 1; i < 7; i++)
a[i] = a[i] % b[i];
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator