Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

Re:最强的剪枝

Posted by wander_alone at 2013-05-16 15:28:10 on Problem 1014
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:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator