好文档 - 专业文书写作范文服务资料分享网站

NOIP2012提高组day1

天下 分享 时间: 加入收藏 我要投稿 点赞

全国信息学奥林匹克联赛(NOIP2012)复赛 提高组 day1

CCF全国信息学奥林匹克联赛(NOIP2012)复赛

提高组 day1

(请选手务必仔细阅读本页内容)

一.题目概况 中文题目名称 英文题目与子目录名 可执行文件名 输入文件名 输出文件名 每个测试点时限 测试点数目 每个测试点分值 附加样例文件 结果比较方式 题目类型 Vigenère密码 vigenere vigenere vigenere.in vigenere.out 1秒 10 10 有 传统 国王游戏 game game game.in game.out 1秒 10 10 有 传统 开车旅行 drive drive drive.in drive.out 1秒 20 5 有 传统 全文比较(过滤行末空格及文末回车) 二.提交源程序文件名 对于C++语言 对于C语言 对于pascal语言 vigenere.cpp vigenere.c vigenere.pas game.cpp game.c game.pas drive.cpp drive.c drive.pas 三.编译命令(不包含任何优化开关) 对于C++语言 对于C语言 对于pascal语言 g++ -o vigenere vigenere.cpp -lm gcc-o vigenere vigenere.c -lm fpc vigenere.pas g++ -o game game.cpp -lm gcc-o game game.c -lm fpc game.pas g++ -o drive drive.cpp -lm gcc-o drive drive.c -lm fpc drive.pas 四.运行内存限制 内存上限 128M 128M 128M

注意事项:

1、文件名(程序名和输入输出文件名)必须使用英文小写。

2、C/C++中函数main()的返回值类型必须是int,程序正常结束时的返回值必须是0。

3、全国统一评测时采用的机器配置为:CPU Intel Core2 Quad Q8200 2.33GHz, 内存2G,上述时限以此配置为准。

4、特别提醒:评测在NOI Linux下进行。

第1页 共7页

全国信息学奥林匹克联赛(NOIP2012)复赛 提高组 day1

1.Vigenère密码

(vigenere.cpp/c/pas)

【问题描述】 16世纪法国外交家Blaise de Vigenère设计了一种多表密码加密算法——Vigenère密码。Vigenère密码的加密解密算法简单易用,且破译难度比较高,曾在美国南北战争中为南军所广泛使用。 在密码学中,我们称需要加密的信息为明文,用M表示;称加密后的信息为密文,用C表示;而密钥是一种参数,是将明文转换为密文或将密文转换为明文的算法中输入的数据,记为k。 在Vigenère密码中,密钥k是一个字母串,k=k1k2…kn。当明文M=m1m2…mn时,得到的密文C=c1c2…cn,其中ci=mi?ki,运算?的规则如下表所示:

?

Vigenère加密在操作时需要注意: 1. ?运算忽略参与运算的字母的大小写,并保持字母在明文M中的大小写形式; 2. 当明文M的长度大于密钥k的长度时,将密钥k重复使用。 例如,明文M=Helloworld,密钥k=abc时,密文C=Hfnlpyosnd。 H a H e b f l c n l a l o b p w c y o a o r b s l c n d a d 明文 密钥 密文 【输入】

输入文件名为vigenere.in。 输入共2行。

第一行为一个字符串,表示密钥k,长度不超过100,其中仅包含大小写字母。第二行为一个字符串,表示经加密后的密文,长度不超过1000,其中仅包含大小写字母。

第2页 共7页

全国信息学奥林匹克联赛(NOIP2012)复赛 提高组 day1

【输出】

输出文件名为vigenere.out。

输出共1行,一个字符串,表示输入密钥和密文所对应的明文。

【输入输出样例】 vigenere.in vigenere.out CompleteVictory Yvqgpxaimmklongnzfwpvxmniytm Wherethereisawillthereisaway 【数据说明】 对于100%的数据,输入的密钥的长度不超过100,输入的密文的长度不超过1000,且都仅包含英文字母。

2.国王游戏

(game.cpp/c/pas)

【问题描述】

恰逢H国国庆,国王邀请n位大臣来玩一个有奖游戏。首先,他让每个大臣在左、右手上面分别写下一个整数,国王自己也在左、右手上各写一个整数。然后,让这n位大臣排成一排,国王站在队伍的最前面。排好队后,所有的大臣都会获得国王奖赏的若干金币,每位大臣获得的金币数分别是:排在该大臣前面的所有人的左手上的数的乘积除以他自己右手上的数,然后向下取整得到的结果。

国王不希望某一个大臣获得特别多的奖赏,所以他想请你帮他重新安排一下队伍的顺序,使得获得奖赏最多的大臣,所获奖赏尽可能的少。注意,国王的位置始终在队伍的最前面。

【输入】

输入文件为game.in。

第一行包含一个整数n,表示大臣的人数。 第二行包含两个整数a和b,之间用一个空格隔开,分别表示国王左手和右手上的整数。 接下来n行,每行包含两个整数a和b,之间用一个空格隔开,分别表示每个大臣左手和右手上的整数。

【输出】 输出文件名为game.out。

输出只有一行,包含一个整数,表示重新排列后的队伍中获奖赏最多的大臣所获得的金币数。

第3页 共7页

全国信息学奥林匹克联赛(NOIP2012)复赛 提高组 day1

【输入输出样例】 game.in 3 1 1 2 3 7 4 4 6 game.out 2 【输入输出样例说明】

按1、2、3号大臣这样排列队伍,获得奖赏最多的大臣所获得金币数为2; 按1、3、2这样排列队伍,获得奖赏最多的大臣所获得金币数为2; 按2、1、3这样排列队伍,获得奖赏最多的大臣所获得金币数为2; 按2、3、1这样排列队伍,获得奖赏最多的大臣所获得金币数为9; 按3、1、2这样排列队伍,获得奖赏最多的大臣所获得金币数为2; 按3、2、1这样排列队伍,获得奖赏最多的大臣所获得金币数为9。 因此,奖赏最多的大臣最少获得2个金币,答案输出2。

【数据范围】

对于20%的数据,有1≤ n≤ 10,0 < a、b < 8; 对于40%的数据,有1≤ n≤20,0 < a、b < 8; 对于60%的数据,有1≤ n≤100;

对于60%的数据,保证答案不超过109;

对于100%的数据,有1 ≤ n ≤1,000,0 < a、b < 10000。

3.开车旅行

(drive.cpp/c/pas)

【问题描述】

小A和小B决定利用假期外出旅行,他们将想去的城市从1到N编号,且编号较小的城市在编号较大的城市的西边,已知各个城市的海拔高度互不相同,记城市i的海拔高度为Hi,城市i和城市j之间的距离d[i,j]恰好是这两个城市海拔高度之差的绝对值,即d[i,j]=|?????????|。

旅行过程中,小A和小B轮流开车,第一天小A开车,之后每天轮换一次。他们计划选择一个城市S作为起点,一直向东行驶,并且最多行驶X公里就结束旅行。小A和小B的驾驶风格不同,小B总是沿着前进方向选择一个最近的城市作为目的地,而小A总是沿着前进方向选择第二近的城市作为目的地(注意:本题中如果当前城市到两个城市的距离相同,则认为离海拔低的那个城市更近)。如果其中任何一人无法按照自己的原则选择目的城市,或者到达目的地会使行驶的总距离超出X公里,他们就会结束旅行。

在启程之前,小A想知道两个问题:

1.对于一个给定的X=X0,从哪一个城市出发,小A开车行驶的路程总数与小B行驶的路程总数的比值最小(如果小B的行驶路程为0,此时的比值可视为无穷大,且两个无穷

第4页 共7页

全国信息学奥林匹克联赛(NOIP2012)复赛 提高组 day1

大视为相等)。如果从多个城市出发,小A开车行驶的路程总数与小B行驶的路程总数的比值都最小,则输出海拔最高的那个城市。

2. 对任意给定的X=Xi和出发城市Si,小A开车行驶的路程总数以及小B行驶的路程总数。

【输入】

输入文件为drive.in。

第一行包含一个整数N,表示城市的数目。

第二行有N个整数,每两个整数之间用一个空格隔开,依次表示城市1到城市N的海拔高度,即H1,H2,……,Hn,且每个Hi都是不同的。

第三行包含一个整数X0。

第四行为一个整数M,表示给定M组Si和Xi。

接下来的M行,每行包含2个整数Si和Xi,表示从城市Si出发,最多行驶Xi公里。

【输出】 输出文件为drive.out。

输出共M+1行。

第一行包含一个整数S0,表示对于给定的X0,从编号为S0的城市出发,小A开车行驶的路程总数与小B行驶的路程总数的比值最小。

接下来的M行,每行包含2个整数,之间用一个空格隔开,依次表示在给定的Si和Xi下小A行驶的里程总数和小B行驶的里程总数。

【输入输出样例1】 drive.in drive.out 4 2 3 1 4 3 4 1 3 2 3 3 3 4 3 【输入输出样例1说明】

1 1 1 2 0 0 0 0 0

第5页 共7页

NOIP2012提高组day1

全国信息学奥林匹克联赛(NOIP2012)复赛提高组day1CCF全国信息学奥林匹克联赛(NOIP2012)复赛提高组day1(请选手务必仔细阅读本页内容)一.题目概况中文题目名称英文题目与子目录名可执行文件名输入文件名输出文件名每个测试点时限测试点数目每个测试点分值附加
推荐度:
点击下载文档文档为doc格式
00ijs2puhh47le14llex
领取福利

微信扫码领取福利

微信扫码分享