大榕树——让我们共成长!
大榕树 myDrs.org
您的位置:大榕树 \ 编程       |  Logo语言   |  Pascal语言   |  信息学奥赛   |  高考保送    |  HTML版本
|  信息学奥赛>>竞赛题库>>第二届IOI试题         本站全文搜索: 友情提示:

第二届IOI试题
http://www.mydrs.org  10/6/2001  大榕树


第二届国际信息学奥林匹克竞赛试题
第一题:
   在4×4的格子方阵中放了1至14共14个枚棋子,留下两个空格。图1是一种放置的例子,每步可将一枚棋子水平或垂直地移至相邻的空格,要求移成目标状态(图2所示,是唯一的)。
编写程序:
1.输入初始状态数据(空格用0表示,按自左至右逐格,自上至下逐行输入)。程序应能检查输入是否正确。
2.实现从初始状态到目标状态的转换。
3.输入结果,每一步都应在屏幕上显示:
(1)显示每一步的序号,最后的序号就是移动总步数;
(2)屏幕左方显示移动前的状态;
(3)屏幕右方显示移动后的状态。
4.要求能使移动步数最少。简析:算法: A* 算法
数据结构:数组
题型: III 型
难度: 8 分
编程时间:90 分钟
简述: 本题的难处在于第四个任务,很容易就溢出了,可以在溢出之前选取一些比较优的状态存下来,删去其余的状态后再继续搜索。

第二题:
值班警卫
某展览厅在任何时刻需要至少两名警卫值班。每一警卫的值班时间是一个连续的时间间隔[T1[i],T2[i]],式中T1[i]和T2[i]分别表示第I个警卫值班的起始时间和结束时间。
给你一个值班时间表,你需要:
1.检查在时间间隔[0,endtime]中是否有至少两名警卫值班(用Yes/No回答)。如果上述条件不满足,需要:
2.找出警卫人数小于2的所有时间间隔(k,1分别为警卫值班小于2的起始时间,结束时间)以及在此间隔中的值班人数(0或1)。
3.求出至少需要增加多少名新警卫,才能使规定时间间隔中的每一时刻都至少有两
名警卫值班。注意:新增警卫的值班时间长度均为length,这是一个预先给定的数。
最后排出值班时刻表。
4.是否可能只改变原有值班人员值班的起始时间(不改动他们值班时间的长度,当
然也不增加新警卫),就做到每个时刻都至少有两名警卫值班?用Yes/No回答。
如是Yes,请列出被改变值班起始时间的人员序号及其新的起始与结束时间。
5.如果第4项要求是可能的,排出新的值班时刻表,要求改变值斑起始时间的警卫人数最少。对输入格式有如下规定,依次为(时间以分为单位,均取整数):
endtime窘崾奔洌*
n揪廊耸*
T1[i] 镜贗个警卫值班起始时间;
T2[i] 镜趇个警卫值班结束时间;
上述两参数中:
length拘略鼍赖闹蛋嗍奔涑ざ取*

简析:
算法: 搜索算法
数据结构:数组
题型: III 型
难度: 7 分
编程时间:120 分钟
简述: 本题对数据量较大的测试数据光用搜索很难出结果,在没有好的方法
的时候就应该在搜索的过程中加入尽量多的判断条件来剪枝。



共有2845位读者阅读过此文

  • 上篇文章第一届IOI试题
  • 下篇文章98年北京程序设计初赛

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

    □- 近期热门文章 □- 相关文章
    1. NOIP2006竞赛大纲 [8307]
    2. 七类高中生具有保送资格 [5911]
    3. NOI2006获奖选手名单 [4956]
    4. 关于举办NOIP2006模拟赛的通告 [4107]
    5. Turbo Pascal各语句运行速... [3595]
    6. Turbo王者归来新Delphi免费... [3182]
    7. IOI2006我国4名选手全部获得金... [2946]
    8. 关于APIO2007与IOI2007... [2764]
    9. noip倒计时 by 枯叶蝴蝶 [2684]
    10. 朱泽园:思想上的金牌更重要 [2169]
    IOI2006我国4名选手全部获得金牌
    IOI2006中国队选拔赛在北航举行
    【全文】吴文虎:我的IOI生涯
    IOI2003中国队及港台代表队均获佳绩
    IOI2003在美国威斯康星州举行
    IOI2002中国队取得优异成绩
    第二届IOI试题
    第一届IOI试题
    国际信息学奥赛简介
    IOI2001中国选手全部获奖
     

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