NOIP2013提高组复赛试题day1.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
NOIP2013提高组复赛试题day1

CCF 全国信息学奥林匹克联赛(NOIP2013)复赛 提高组 day1 (请选手务必仔细阅读本页内容) 一.题目概况 中文题目名称 转圈游戏 火柴排队 货车运输 英文题目与子目录名 circle match truck 可执行文件名 circle match truck 输入文件名 circle.in match.in truck.in 输出文件名 circle.out match.out truck.out 每个测试点时限 1 秒 1 秒 1 秒 测试点数目 10 10 20 每个测试点分值 10 10 5 附加样例文件 有 有 有 结果比较方式 题目类型 传统 传统 传统 运行内存上限 128M 128M 128M 二.提交源程序文件名 对于 C++语言 circle.cpp match.cpp truck.cpp 对于 C 语言 circle.c match.c truck.c 对于 pascal 语言 circle.pas match.pas truck.pas 对于 C++语言 g++ -o circle circle.cpp -lm g++ -o match match.cpp -lm g++ -o truck truck.cpp -lm 对于 C 语言 gcc-o circle circle.c -lm gcc-o match match.c – lm gcc-o truck truck.c -lm 对于 pascal 语言 fpc circle.pas fpc match.pas fpc truck.pas 注意事项: 1、文件名(程序名和输入输出文件名)必须使用英文小写。 2、C/C++中函数 main 的返回值类型必须是 int,程序正常结束时的返回值必须是 0。 3、全国统一评测时采用的机器配置为:CPU AMD Athlon tm 64x2 Dual Core CPU 5200+, 2.71GHz,内存 2G,上述时限以此配置为准。 4、只提供 Linux 格式附加样例文件。 5 NOI Linux 下进行。 1.转圈游戏 circle.cpp/c/pas 【问题描述】 n 个小伙伴(编号从 0 到 n-1)围坐一圈玩游戏。按照顺时针方向给 n 个位置编号,从 0 到 n-1。最初,第 0 号小伙伴在第 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 个整数,表示 10k 轮后 x 号小伙伴所在的位置编号。 【输入输出样例】 circle.in circle.out 10 3 4 5 5 对于 30%的数据,0 k 7; 对于 80%的数据,0 k 107; 对于 100%的数据,1 1,000,000,0 m n ,0 ≤ x ≤ n,0 k 109。 2.火柴排队 match.cpp/c/pas n 根火柴,每根火柴都有一个高度。现在将每盒中的火柴各自排成一列,同一列火柴的高度互不相同,两列火柴之间的距离定义为:,其中 ai 表示第一列火柴中第 i 个火柴的高度,bi 表示第二列火柴中第 i 个火柴的高度。 每列火柴中相邻两根火柴的位置都可以交换,请你通过交换使得两列火柴之间的距离最 小。请问得到这个最小的距离,最少需要交换多少次?如果这个数字太大,请输出这个最小交换次数对 99,999,997 取模的结果。 【输入】 输入文件为 match.in。 共三行,第一行包含一个整数 n,表示每盒中火柴的数目。 第二行有 n 个整数,每两个整数之间用一个空格隔开,表示第一列火柴的高度。 第三行有 n 个整数,每两个整数之间用一个空格隔开,表示第二列火柴的高度。 【输出】 输出文件为 match.out。 输出共一行,包含一个整数,表示最少交换次数对 99,999,997 取模的结果。 【输入输出样例 1】 match.in match.out 4 2 3 1 4 3 2 1 4 1 【输入输出样例说明】 最小距离是 0,最少需要交换 1 次,比

文档评论(0)

sb9185sb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档