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

SGOI5《足球赛》解题报告
http://www.mydrs.org  10/17/2001  大榕树


一、题意简述

  有5支球队,已知比赛的成绩总积分,进球数与失球数,并且假设一支球队一场比赛最多进5球,求一种可能的比分方案。

二、算法分析

  由于只有5支球队, 并且还是单循环赛,所以很容易想到用搜索来做这道题。由于规模很小,我们可以一场一场的搜,也可以一支队一支队的搜,都可以在题目限定的时间内出解。
  当然,为了精益求精,我们还可以加一些剪枝 , 以提高搜索效率。
  1. 根据5支球队实际总得分,可以算出平局的总场数,减少搜索量。
      平局总场数=3×比赛总场数-各球队得分之和。
  2. 对于每支球队的实际得分,可以算出该队至少赢了几场球。
      至少赢球场数=(该队得分-该队比赛场数+1) div 2;
  以上数据是搜索前就可以算出的。
  在搜索过程中,还应注意以下几点:
    1. 如果剩余场次*最大进球数<剩余进球,则回溯。
    2. 如果最大剩余得分<实际剩余得分,则回溯。
  此外还有一些剪枝 , 这里就不一一列举了。


三、小结

  这是一道饶有趣味的题目,有很灵活的搜索方式与众多的优化手段。若增加题目的规模,不同程序的运行效率就会有明显的差别。大家可以尝试不同的编法,以找出一种最高效的方法。


来 源:福州一中
共有1640位读者阅读过此文

  • 上篇文章SGOI5《彩虹7号》解题报告
  • 下篇文章SGOI5《控制棋》解题报告

  • 发送邮件
    保存页面 打印文章 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号