大榕树——让我们共成长!
大榕树 myDrs.org
您的位置:大榕树 \ 编程       |  Logo语言   |  Pascal语言   |  信息学奥赛   |  高考保送    |  HTML版本
|  信息学奥赛>>解题报告>>《外公的难题》解题报告         本站全文搜索: 友情提示:

《外公的难题》解题报告
http://www.mydrs.org  8/28/2001  大榕树


一、题意简述:

  现有N张(0

<=20) 点数小等于10的扑克牌。要求从N张牌中任选若干张分成M墩(每墩不超过5张),使得每墩的各张牌经过加、减、乘或添加括号的运算后都能得到24这个数字。

二、算法分析:

  这是一道搜索题,下面给出一种较为高效的搜索方法:

  1、首先求出所有可以计算出24点的牌墩,并记录下来。这部分预处理可以通过深度搜索来实现。它的状态空间的规模为 。在检验牌墩时,每次选出两张没有用过的牌,并选择一种运算,从而得到一张新的牌,直到只剩下一张牌就可以判断它是不是24。检验的费用约为: 。由此可见,预处理的时间耗费不大。

  2、然后对这些可以计算出24点的牌墩进行组合搜索,使得在不出现重复的牌的前提下选取尽可能多的牌墩,从而实现题目的要求。考虑到满足可以计算出24点的牌墩的数量并不多,所以这一部分的搜索量也是可以忍受的。在实现时可以进行一些优化,如优先选取牌数较少的排墩,进行上界估计等等,都可以从一定程度上提高算法的时间效率。

  附运行时间表格:




























































运行时间


运行时间

数据1

0.00s

数据11

0.05s

数据2

0.00s

数据12

0.38s

数据3

0.00s

数据13

0.44s

数据4

0.00s

数据14

0.00s

数据5

0.00s

数据15

0.44s

数据6

0.00s

数据16

0.05s

数据7

0.00s

数据17

0.00s

数据8

0.05s

数据18

0.00s

数据9

0.00s

数据19

0.05s

数据10

0.00s

数据20

0.71s


(测试环境:PIII600EB / 64MB)

三、总结:

  近年来搜索题在国际国内赛场出现的频率有所减少,但是,搜索题对于训练编程技巧和算法的优化能力都很有益处。选手在解决搜索题时,首先要有全局观,权衡影响搜索效率的各方面因素,选择一个正确高效的搜索方式,然后在此基础上考虑各种优化方法,优化时要注意优化费用和优化效果的平衡。由此可见,加强搜索题的训练是很有意义的。

  Sgoi4第二试第三题《外公的难题》题目、测试数据和标准程序由重庆刘汝佳同学提供,借此表示衷心的感谢。




作 者:周牧昕 唐军军
来 源:福州三中
共有1555位读者阅读过此文

  • 上篇文章猜数字游戏(附源代码)
  • 下篇文章《镇长的烦恼》解题报告

  • 发送邮件
    保存页面 打印文章 HTML版本 发表评论

    □- 近期热门文章 □- 相关文章
    1. NOIP2006竞赛大纲 [8306]
    2. 七类高中生具有保送资格 [5910]
    3. NOI2006获奖选手名单 [4955]
    4. 关于举办NOIP2006模拟赛的通告 [4106]
    5. Turbo Pascal各语句运行速... [3594]
    6. Turbo王者归来新Delphi免费... [3181]
    7. IOI2006我国4名选手全部获得金... [2945]
    8. 关于APIO2007与IOI2007... [2763]
    9. noip倒计时 by 枯叶蝴蝶 [2683]
    10. 朱泽园:思想上的金牌更重要 [2168]
    SGOI第14次友谊赛成绩
    SGOI-14友谊赛测试数据
    SGOI14友谊赛试题
    SGOI第十三次友谊赛数据
    SGOI第13次友谊赛成绩揭晓
    SGOI第十三次友谊赛试题
    SGOI第13次友谊赛竞赛规则
    Sgoi12之《黑白瓷砖》
    《哈利·波特与魔法石》
    Sgoi12之《网络传输》
     

    关于本站 | 合作伙伴 | 联系方式
    大榕树 版权所有 ©1999-2006 www.myDrs.org 闽ICP备05000721号