noip提高组复赛试题day1+day2.doc

上传人:豆**** 文档编号:23976608 上传时间:2022-07-03 格式:DOC 页数:8 大小:224.50KB
返回 下载 相关 举报
noip提高组复赛试题day1+day2.doc_第1页
第1页 / 共8页
noip提高组复赛试题day1+day2.doc_第2页
第2页 / 共8页
点击查看更多>>
资源描述

《noip提高组复赛试题day1+day2.doc》由会员分享,可在线阅读,更多相关《noip提高组复赛试题day1+day2.doc(8页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateNOIP2013提高组复赛试题day1+day2CCF 全国信息学奥林匹克联赛(NOIP2013)复赛 CCF 全国信息学奥林匹克联赛(NOIP2013)复赛 提高组 day1-1转圈游戏(circle.cpp/c/pas)【问题描述】n 个小伙伴(编号从 0 到 n-1)围坐一圈玩游戏。按照顺时针方向给 n 个位置编号,从 0 到 n-1。最初,第 0 号小伙伴在第

2、 0 号位置,第 1 号小伙伴在第 1 号位置,依此类 推。游戏规则如下:每一轮第 0 号位置上的小伙伴顺时针走到第 m 号位置,第 1 号位置小伙伴走到第 m+1 号位置,依此类推,第n m号位置上的小伙伴走到第 0 号位置,第n-m+1 号位置上的小伙伴走到第 1 号位置,第 n-1 号位置上的小伙伴顺时针走到第m-1 号位置。现在,一共进行了 10k 轮,请问 x 号小伙伴最后走到了第几号位置。【输入】输入文件名为 circle.in。输入共 1 行,包含 4 个整数 n、m、k、x,每两个整数之间用一个空格隔开。【输出】输出文件名为 circle.out。输出共 1 行,包含 1 个整

3、数,表示 10k 轮后 x 号小伙伴所在的位置编号。【输入输出样例】circle.incircle.out10 3 4 55【数据说明】对于 30%的数据,0 k 7; 对于 80%的数据,0 k 107;对于 100%的数据,1 n 1,000,000,0 m n ,0 x n,0 k 109。 2火柴排队(match.cpp/c/pas)【问题描述】涵涵有两盒火柴,每盒装有 n 根火柴,每根火柴都有一个高度。现在将每盒中的火柴各自排成一列,同一列火柴的高度互不相同,两列火柴之间的距离定义为:,其中 ai 表示第一列火柴中第 i 个火柴的高度,bi 表示第二列火柴中第 i 个火柴的高度。每列

4、火柴中相邻两根火柴的位置都可以交换,请你通过交换使得两列火柴之间的距离最 小。请问得到这个最小的距离,最少需要交换多少次?如果这个数字太大,请输出这个最小交换次数对 99,999,997 取模的结果。【输入】输入文件为 match.in。共三行,第一行包含一个整数 n,表示每盒中火柴的数目。第二行有 n 个整数,每两个整数之间用一个空格隔开,表示第一列火柴的高度。 第三行有 n 个整数,每两个整数之间用一个空格隔开,表示第二列火柴的高度。【输出】输出文件为 match.out。输出共一行,包含一个整数,表示最少交换次数对 99,999,997 取模的结果。【输入输出样例 1】match.inm

5、atch.out42 3 1 43 2 1 41【输入输出样例说明】最小距离是 0,最少需要交换 1 次,比如:交换第 1 列的前 2 根火柴或者交换第 2 列的前 2 根火柴。【输入输出样例 2】match.inmatch.out41 3 4 21 7 2 42【输入输出样例说明】最小距离是 10,最少需要交换 2 次,比如:交换第 1 列的中间 2 根火柴的位置,再交换第 2 列中后 2 根火柴的位置。【数据范围】对于 10%的数据, 1 n 10;对于 30%的数据,1 n 100;对于 60%的数据,1 n 1,000;对于 100%的数据,1 n 100,000,0 火柴高度 231

6、 1。3货车运输(truck.cpp/c/pas)【问题描述】A 国有 n 座城市,编号从 1 到 n,城市之间有 m 条双向道路。每一条道路对车辆都有重量限制,简称限重。现在有 q 辆货车在运输货物,司机们想知道每辆车在不超过车辆限重的情况下,最多能运多重的货物。【输入】输入文件名为 truck.in。输入文件第一行有两个用一个空格隔开的整数 n,m,表示 A 国有 n 座城市和 m 条道路。接下来 m 行每行 3 个整数 x、y、z,每两个整数之间用一个空格隔开,表示从 x 号城市到 y 号城市有一条限重为 z 的道路。注意:x 不等于 y,两座城市之间可能有多条道路。 接下来一行有一个整

7、数 q,表示有 q 辆货车需要运货。接下来 q 行,每行两个整数 x、y,之间用一个空格隔开,表示一辆货车需要从 x 城市 运输货物到 y 城市,注意:x 不等于 y。【输出】输出文件名为 truck.out。输出共有 q 行,每行一个整数,表示对于每一辆货车,它的最大载重是多少。如果货车不能到达目的地,输出-1。【输入输出样例】truck.intruck.out433124-123333113131413【数据说明】 对于 30%的数据,0 n 1,000,0 m 10,000,0 q 1,000; 对于 60%的数据,0 n 1,000,0 m 50,000,0 q 1,000;对于 10

8、0%的数据,0 n 10,000,0 m 50,000,0 q g2i-1,同时对于所有的1i,有g2i g2i+1; 条件 B:对于所有的1i,有g2i g2i-1,同时对于所有的1i,有g2i 1时最多有一个能满足。请问,栋栋最多能将多少株花留在原地。【输入】输入文件为 flower.in。输入的第一行包含一个整数,表示开始时花的株数。 第二行包含个整数,依次为1, 2, , n,表示每株花的高度。【输出】输出文件为 flower.out。输出一行,包含一个整数,表示最多能留在原地的花的株数。【输入输出样例】flower.inflower.out55 3 2 1 23【输入输出样例说明】有

9、多种方法可以正好保留 3 株花,例如,留下第 1、4、5 株,高度分别为 5、1、2,满足条件 B。【数据范围】对于 20%的数据,n 10; 对于 30%的数据,n 25;对于 70%的数据,n 1000,0 n 1000;对于 100%的数据,1 n 100,000,0 n 1,000,000,所有的n随机生成,所有随机数服从某区间内的均匀分布。3华容道(puzzle.cpp/c/pas)【问题描述】小 B 最近迷上了华容道,可是他总是要花很长的时间才能完成一次。于是,他想到用编程来完成华容道:给定一种局面,华容道是否根本就无法完成,如果能完成,最少需要多少时间。小 B 玩的华容道与经典的

10、华容道游戏略有不同,游戏规则是这样的:1.在一个 n*m 棋盘上有 n*m 个格子,其中有且只有一个格子是空白的,其余 n*m-1个格子上每个格子上有一个棋子,每个棋子的大小都是 1*1 的;2.有些棋子是固定的,有些棋子则是可以移动的;3.任何与空白的格子相邻(有公共的边)的格子上的棋子都可以移动到空白格子上。游戏的目的是把某个指定位置可以活动的棋子移动到目标位置。给定一个棋盘,游戏可以玩 q 次,当然,每次棋盘上固定的格子是不会变的,但是棋盘上空白的格子的初始位置、指定的可移动的棋子的初始位置和目标位置却可能不同。第 i 次玩的时候,空白的格子在第 EXi 行第 EYi 列,指定的可移动棋

11、子的初始位置为第 SXi 行第 SYi 列,目标位置为第 TXi 行第 TYi 列。假设小 B 每秒钟能进行一次移动棋子的操作,而其他操作的时间都可以忽略不计。请你告诉小 B 每一次游戏所需要的最少时间,或者告诉他不可能完成游戏。【输入】输入文件为 puzzle.in。第一行有 3 个整数,每两个整数之间用一个空格隔开,依次表示 n、m 和 q;接下来的 n 行描述一个 n*m 的棋盘,每行有 m 个整数,每两个整数之间用一个空格隔开,每个整数描述棋盘上一个格子的状态,0 表示该格子上的棋子是固定的,1 表示该格子上的棋子可以移动或者该格子是空白的。接下来的 q 行,每行包含 6 个整数依次是

12、 EXi、EYi、SXi、SYi、TXi、TYi,每两个整数之间用一个空格隔开,表示每次游戏空白格子的位置,指定棋子的初始位置和目标位置。【输出】输出文件名为 puzzle.out。输出有 q 行,每行包含 1 个整数,表示每次游戏所需要的最少时间,如果某次游戏无法完成目标则输出1。【输入输出样例】puzzle.inpuzzle.out3 4 20 1 1 10 1 1 00 1 0 03 2 1 2 2 21 2 2 2 3 22-1【输入输出样例说明】 棋盘上划叉的格子是固定的,红色格子是目标位置,圆圈表示棋子,其中绿色圆圈表示目标棋子。1. 第一次游戏,空白格子的初始位置是 (3, 2)

13、(图中空白所示),游戏的目标是将初始位置在(1, 2)上的棋子(图中绿色圆圈所代表的棋子)移动到目标位置(2, 2)(图中红色的格子)上。移动过程如下:初始状态 第一步之后 第二步之后2. 第二次游戏,空白格子的初始位置是(1, 2)(图中空白所示),游戏的目标是将初始位置在(2, 2)上的棋子(图中绿色圆圈所示)移动到目标位置 (3, 2)上。初始状态要将指定块移入目标位置,必须先将空白块移入目标位置,空白块要移动到目标位置,必然是从位置(2, 2)上与当前图中目标位置上的棋子交换位置,之后能与空白块交换位置的只有当前图中目标位置上的那个棋子,因此目标棋子永远无法走到它的目标位置, 游戏无法完成。【数据范围】对于 30%的数据,1 n, m 10,q = 1;对于 60%的数据,1 n, m 30,q 10;对于 100%的数据,1 n, m 30,q 500。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com