NOIP2013普及组复赛试题
noip普及组复赛模拟试题26(答案)
noip普及组复赛模拟试题26(答案)1.数字反转(/c/pas)【问题描述】给定一个整数,请将该数各个位上数字反转得到一个新数。
新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零。
【输入】输入文件名为。
输入共 1 行,一个整数N。
【输出】输出文件名为。
输出共 1 行,一个整数,表示反转后的新数。
【输入输出样例 1】 123 321【输入输出样例 2】 -380 -83【数据范围】-1,000,000,000 ≤ N≤ 1,000,000,000。
vars3,s1,s2:string; n,i:integer; beginassign(input,'');reset(input);assign(output,'');rewrite(output); read(s1); n:=length(s1); if s1[1]='-' then begin s2:='-';for i:=1 to n-1 do s1[i]:=s1[i+1]; delete(s1,n,1); end;n:=length(s1); for i:=1 to n do s3:=s3+s1[n-i+1]; i:=1;while(s3[i]='0')and(length(s3)>1) do delete(s3,1,1); write(s2+s3);close(input);close(output); end.2.统计单词数(/c/pas)【问题描述】一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次数。
现在,请你编程实现这一功能,具体要求是:给定一个单词,请你输出它在给定的文章中出现的次数和第一次出现的位置。
注意:匹配单词时,不区分大小写,但要求完全匹配,即给定单词必须与文章中的某一独立单词在不区分大小写的情况下完全相同,如果给定单词仅是文章中某一单词的一部分则不算匹配。
NOIP普及组历届试题分析
对于100%的数据,3 ≤ n ≤ 100 测验题给出的正整数大小不超过10,000。
试题分析
题意大意:给你n个数,在这n个数中,找 到满足A+B=C的C的个数,注意不是这个 等式的个数。
样例中,1,2,3,4有1+2=3,1+3=4两个。
由于本题数据规模n<=100,我们可以直接
枚举C, A, B,三层循环解决问题。
扫雷游戏 (noip2015普及组第二题)
输入样例 1 33 *?? ??? ?*? 输入样例 2 23 ?*? *??
输出样例 1 mine.out *10 221 1*1 输出样例 2 mine.out 2*1 *21
对于 100%的数据,1≤n≤100,1≤m≤100
问题分析:
本题也是简单的枚举类试题。 我们从雷区的第一行第一列(1,1)开始,判断它周围 有多少个地雷。 由于本题读入的是字符,读入时需要注意: readln(n,m); for i=1 to n do begin for j=1 to m do read(a[i][j]); readln; end;
比例简化 (noip2014普及组第二题)
在社交媒体上,经常会看到针对某一个观点同意与 否的民意调查以及结果。例如,对某 一观点表示 支持的有 1498 人,反对的有 902 人,那么赞同与 反对的比例可以简单的记为1498:902。 不过,如果把调查结果就以这种方式呈现出来,大 多数人肯定不会满意。因为这个比例的数值太大, 难以一眼看出它们的关系。对于上面这个例子,如 果把比例记为 5:3,虽然与 真实结果有一定的误差, 但依然能够较为准确地反映调查结果,同时也显得 比较直观。 现给出支持人数 A,反对人数 B,以及一个上限 L, 请你将 A 比 B 化简为 A’比 B’,要求在 A’和 B’均 不大于 L 且 A’和 B’互质(两个整数的最大公约数 是 1)的前提下,A’/B’ ≥ A/B 且 A’/B’ - A/B 的值 尽可能小。
NOIP2013普及组C++试题概论
第十九届全国青少年信息学奥林匹克联赛初赛普及组 C++语言试题竞赛时间:2013 年 10 月 13 日 14:30~16:30选手注意:●试题纸共有9 页,答题纸共有 2 页,满分 100 分。
请在答题纸上作答,写在试题纸上的一律无效。
● 不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料。
一、单项选择题(共 20 题,每题 1.5 分,共计 30 分;每题有且仅有一个正确选项)一个字节=8个二进制位1. 一个 32 位整型变量占用(A )个字节。
A. 4B. 8C. 32D. 1282. 二进制数 11.01 在十进制下是( A )。
A. 3.25B. 4.125C. 6.25D. 11.1253. 下面的故事与( B )算法有着异曲同工之妙。
从前有座山,山里有座庙,庙里有个老和尚在给小和尚讲故事:‚从前有座山,山 里有座庙,庙里有个老和尚在给小和尚讲故事:‘从前有座山,山里有座庙,庙里有个 老和尚给小和尚讲故事....’‛A. 枚举B. 递归C. 贪心D. 分治4. 逻辑表达式( C )的值与变量 A 的真假无关。
A. (A ˅ B) ˄ ¬A B. (A ˅ B) ˄ ¬B C. (A ˄ B) ˅ (¬A ˄ B)D. (A ˅ B) ˄ ¬A ˄ B˅:或 ˄:与¬:非5. 将(2, 6, 10, 17)分别存储到某个地址区间为 0~10 的哈希表中,如果哈希函数 h (x )= (D ),将不会产生冲突,其中 a mod b 表示 a 除以 b 的余数。
A. x mod 11 6 17冲突B. x 2 mod 11C. 2x mod 11D.⌊√⌋ mod 11,其中⌊√ ⌋表示√ 下取整6. 在十六进制表示法中,字母 A 相当于十进制中的( B )。
A. 9B. 10C. 15D. 16CCF NOIP2013 初赛普及组 C++语言试题第1页,共9页7.下图中所使用的数据结构是( B )。
NOIP2013年普及组复赛真题解析
NOIP2013年普及组复赛真题解析T1 计数问题解析:对于100%的数据,1≤ n ≤ 1,000,000,0 ≤ x ≤ 9。
枚举每个数的每一位就行。
程序:include<cstdio>#include<iostream>using namespace std;int main(){int n,x;cin>>n>>x;int i,c=0;for(i=1;i<=n;i++){int a=i;while(a!=0){if(a%10==x)c++;a/=10;}}cout<<c;return 0;}===================================================T2 表达式求值解析:对于30%的数据,0≤表达式中加法运算符和乘法运算符的总数≤100;对于80%的数据,0≤表达式中加法运算符和乘法运算符的总数≤1000;对于100%的数据,0≤表达式中加法运算符和乘法运算符的总数≤100000。
程序:#include<algorithm>#include<iostream>#include<cstring>#include<cstdio>#include<cmath>using namespace std;char last;char c;int x=0;int a=0,b=1;int sum=0;int main(){int i,j;bool flag=1;do{if(cin>>c);else{flag=0;c='+';//相当于在整个串最后补个+号,以完成全部运算}if(c>='0' && c<='9')x=x*10+c-'0';//读取数else{a=x;//如果读到的不是数字,把之前读到的数存起来x=0;//初始化}if(c=='*'){//处理乘号,方法是先记下这个数,下次读到乘号再计算last=1;b=(a*b)%10000;//有连续乘号时,累乘}if(c=='+'){if(last){//上一个是乘号的情况a=(a*b)%10000;sum=(sum+a)%10000;b=1;last=0;}else sum+=a;//上一个是加号的情况}}while(flag==1);printf("%d",sum%10000);return 0;}===================================================T3解析:Case 1:小朋友的特征值分别为1、3、6、10、15,分数分别为1、2、5、11、21,最大值21对997 的模是21。
noip普及组复赛入门测试(答案+测试数据)
一、新龟兔赛跑(文件名xgtsp.pas)新龟兔赛跑比赛即将举行,此次龟兔赛跑比赛的规则与以往有所不同,不再考察兔子和乌龟谁在最短的时间内跑完规定的路程,而是考察谁在规定时间内跑的路程更长,且兔子和乌龟跑步都是匀速的。
由于兔子的坏习惯,它总喜欢把比赛的总时间T小时中的K小时拿来睡觉。
现在给你比赛的总时间T、兔子的睡觉时间K、兔子的速度U、乌龟的速度V,需要你求出该次比赛谁最后获胜。
输入第一行为一个整数X,表示有X组输入数据。
每组数据只有一行,包括4个数T、K、U、V (1 ≤ T≤ 300,0 ≤ K ≤ T,1 ≤ U ≤ 100,1 ≤ V ≤ 100)。
对于每组数据,输出只有一个数,如果兔子获胜则输出-1,如果乌龟获胜则输出1,如果同时到达则输出0。
允许输入一组数后立即输出对应的结果。
样例输入:21 12 16 2 6 3样例输出:1-1varv,u,t,k,n,i:integer;beginreadln(n);for i:=1 to n do beginreadln(t,k,u,v);if v*t>U*(t-k) then writeln(1);if v*t<U*(t-k) then writeln(-1);if v*t=U*(t-k) then writeln(0);end;end.1、输入:26 2 6 28 6 8 2输出:-12、输入:2300 280 60 20120 0 12 13输出:113、输入:3100 20 50 30100 50 45 25100 80 27 17输出:-1114、输入:3150 77 29 23127 11 22 13139 22 13 7输出:1-1-1二、小球路程(文件名:XQLC.PAS )已知小球从100米高度自由下落,落地后反弹起,又落地,又弹起,……。
每次弹起的高度都是上一次高度的一半。
求小球第N次反弹起的高度和球在整个过程所经过的路程(包括下落和反弹),用键盘输入N,输出反弹高度和经过路程,结果保留两位小数。
NOIP2013普及组模拟试题1
全国信息学奥林匹克联赛(NOIP2013)复赛模拟普及组一.题目概览中文题目名称lignment 消息传递Cow Crossings算周长英文题目名称lignment relay crossings perimeter可执行文件名lignment relay crossings perimeter 输入文件名lignment.in relay.in crossings.in perimeter.in 输出文件名lignmentout relay.out crossings.out perimeter.out 每个测试点时限1秒1秒1秒1秒测试点数目10 10 10 10每个测试点分值10 10 10 10 比较方式全文比较全文比较全文比较全文比较题目类型传统传统传统传统二.提交源程序文件名对于pascal语言alignment pas relay.pas crossings.pas perimeter.pas 对于C语言alignment.c relay.c crossings.c perimeter.c 对于C++语言alignment.cpp relay.cpp crossings.cpp perimeter.cpp三.编译命令(不包含任何优化开关)对于pascal语言fpc queue.pas fpc windows.pas fpc s4.pas fpc book.pas对于C语言gcc –o queuequeue.c gcc –o windowswindows.cgcc –o s4s4.cgcc –o bookbook.c对于C++语言g++ –o queuequeue.cpp g++ –o windowswindows.cppg++ –o s4s4.cppg++ –obookbook.cpp四.运行内存限制运行内存上限50M 50M 50M 50M注意事项:1、文件名(程序名和输入输出文件名)必须使用小写。
NOIP2013初赛普及组C++题目及答案
第十九届全国青少年信息学奥林匹克联赛初赛普及组C++语言试题竞赛时间:2013 年10 月13 日14:30~16:30选手注意:试题纸共有9 页,答题纸共有2 页,总分值100 分。
请在答题纸上作答,写在试题纸上的一律无效。
不得使用任何电子设备〔如计算器、、电子词典等〕或查阅任何书籍资料。
一、单项选择题〔共20 题,每题 1.5 分,共计30 分;每题有且仅有一个正确选项〕1. 一个32 位整型变量占用〔〕个字节。
A. 4B. 8C. 32D. 1282. 二进制数11.01 在十进制下是〔〕。
A. 3.25B. 4.125C. 6.25D. 11.1253. 下面的故事与〔〕算法有着异曲同工之妙。
从前有座山,山里有座庙,庙里有个老和尚在给小和尚讲故事:从前有座山,山里有座庙,庙里有个老和尚在给小和尚讲故事:‘从前有座山,山里有座庙,庙里有个老和尚给小和尚讲故事....’A. 枚举B. 递归C. 贪心D. 分治4. 逻辑表达式〔〕的值与变量A 的真假无关。
A. (A∨B)∧﹃AB. (A∨B)∧﹃BC. (A ∧B) ∨(﹃A ∧B)D. (A ∨B)∧﹃A ∧B5. 将〔2, 6, 10, 17〕分别存储到某个地址区间为0~10 的哈希表中,如果哈希函数h(x) =〔〕,将不会产生冲突,其中a mod b 表示a 除以b 的余数。
A. x mod 11B. x2 mod 11C. 2x mod 11D. |√2| mod 11 ,其中√X表示√X下取整6. 在十六进制表示法中,字母 A 相当于十进制中的〔〕。
A. 9B. 10C. 15D. 167. 以下图中所使用的数据结构是〔〕。
A. 哈希表B. 栈C. 队列D. 二叉树8. 在Windows 资源管理器中,用鼠标右键单击一个文件时,会出现一个名为“复制”的操作选项,它的意思是〔〕。
A. 用剪切板中的文件替换该文件B. 在该文件所在文件夹中,将该文件克隆一份C. 将该文件复制到剪切板,并保留原文件D. 将该文件复制到剪切板,并删除原文件9. 已知一棵二叉树有10 个节点,则其中至多有〔〕个节点有 2 个子节点。
NOIP2013普及组初赛模拟试题1(含答案)
NOIP 2013初赛模拟题一一、选择题:(本题共20题,每题1.5分,共计30分)1、在计算机内部用来传送、存贮、加工处理的数据或指令都是以()形式进行的。
A、二进制码B、八进制码C、十进制码D、智能拼音码2、计算机的软件系统通常分为()A、硬件系统和软件系统B、高级软件和一般软件C、系统软件和应用软件D、军用软件和民用软件3、关于软盘读写孔,正确的说法是()。
A.从该孔读信息B.从该孔写信息C.当该孔处于开状态时,不能删除盘中文件。
D.该孔没有作用4、一棵二叉树的中序遍历为DGBAECHF,后序遍历为GDBEHFCA,则前序遍历是()A、ABCDFGHEB、ABDGCEFHC、ACBGDHEFD、ACEFHBGD5、下列叙述中错误的是()。
A、微机应避免置于强磁场之中B、微机使用时间不宜过长,而应隔几个小时关机一次C、微机应避免频繁关开,以延长其使用寿命D、微机应经常使用,不宜长期闲置不用6、计算机网络最主要的优点是()。
A、运算速度快B、共享资源C、精度高D、存储容量大7、下列4个不同进制表示的数中,最大的一个数是()A、(220.1)10B、(11011011.1)2C、(334.1)8D、(DC.1) 168、为了区分汉字与ASCII码,计算机中汉字编码的最高位为()A、1B、0C、-1D、29、下列不正确的文件名是()。
A. command。
ComB. command_comC. command,comD. command:com10、一般来说,TCP/IP的IP提供的服务是( )A.运输层服务B.会话层服务C.表示层服务D.网络层服务11、通信时,模拟信号也可以用数字信道来传输,能实现模拟信号与数字信号之间转换功能的是()A、D/AB、A/DC、ModemD、Codec12、一个栈的输入顺序为1、2、3、4、5,下列序列中可能是栈的输出序列是()。
A、54312B、24135C、21543D、1253413、不属于Internet的功能是()A、聊天B、远程教育C、查询资料D、传送能量14、下列描述计算机病毒的特性中,()不是正确的。
noip普及组复赛模拟试题7(答案)
【试题描述】给出一个正整数n,然后对n进行一系列处理,处理用以下代码表示:0不做任何处理1对原数加上100,若加上100后大于1000,则再减去1000.2对原数减去100,若减去100后小于0,则再加上2003对原数除2取整4对原数乘4,若乘4之后大于1000,则除以1000取余数。
问题:输入n,k后,将n作为原数(1≤n <1000),k为处理码的十进制表示(1<k ≤30000)。
要求将k化为五进制的数,然后以该五进制数从高位到低位的顺序,分别将每位数字作为处理码对原数按上述规则进行处理,求处理后的结果。
【输入描述】n k (2个整数)【输出描述】处理后的结果【输入样例】33 247【输出样例】28【解题提示】样例说明:k=247 化为五进制数:1442,则处理系列为:133+100=1334133*4=5324 532*4=2128 (除以1000取余数,成为128)2128-100=28所以输出28program ex1764;var n,k,i,t,l:integer;st1,st2:string;beginreadln(n,k);st2:='';repeatt:=k mod 5;str(t,st1);st2:=st1+st2;k:=k div 5;until k=0;l:=length(st2);for i:=1 to l docase st2[i] of'1':begin n:=n+100; if n>1000 then n:=n-1000;end;'2':begin n:=n-100;if n<0 then n:=n+200; end;'3':begin n:=n div 2; end;'4':begin n:=n*4;if n>1000 then n:=n mod 1000;end;end;writeln(n);end.输入56 1249 输出936 输入512 20000 输出612输入1000 30000 输出200Description《贫民窟的百万富翁》获得2009年美国奥斯卡最佳影片,影片的主人公是一个叫贾马尔的小男孩,他在贫民窟长大,后来他参加了一档印度版的《谁想成为百万富翁》电视直播节目,他的特殊成长经历居然使他能够回答这个节目中的每一个问题,最后成功获得百万奖金。
noip普及组复赛模拟试题26(答案)
noip普及组复赛模拟试题26(答案)1.数字反转(revere.cpp/c/pa)【问题描述】给定一个整数,请将该数各个位上数字反转得到一个新数。
新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例2)。
【输入】输入文件名为revere.in。
输入共1行,一个整数N。
【输出】输出文件名为revere.out。
输出共1行,一个整数,表示反转后的新数。
【输入输出样例1】revere.inrevere.out123321【输入输出样例2】Revere.inrevere.out-380-83【数据范围】-1,000,000,000≤N≤1,000,000,000。
var3,1,2:tring;n,i:integer;beginaign(input,'revere.in');reet(input);aign(output,'revere.out');rewrite(output);read(1);n:=length(1);if1[1]='-'thenbegin2:='-';fori:=1ton-1do1[i]:=1[i+1];delete(1,n,1);end;n:=length(1);fori:=1tondo3:=3+1[n-i+1];i:=1;while(3[i]='0')and(length(3)>1)dodelete(3,1,1);write(2+3);cloe(input);cloe(output);end.2.统计单词数(tat.cpp/c/pa)【问题描述】一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次数。
现在,请你编程实现这一功能,具体要求是:给定一个单词,请你输出它在给定的文章中出现的次数和第一次出现的位置。
NOIP2013普及组第二题解题报告(汇文客原创)
2.表达式求值(expr.cpp/c/pas)【问题描述】给定一个只包含加法和乘法的算术表达式,请你编程计算表达式的值。
【输入】输入文件为expr.in。
输入仅有一行,为需要你计算的表达式,表达式中只包含数字、加法运算符“+”和乘法运算符“*”,且没有括号,所有参与运算的数字均为0到231-1之间的整数。
输入数据保证这一行只有0~ 9、+、*这12种字符。
【输出】输出文件名为expr.out。
输出只有一行,包含一个整数,表示这个表达式的值。
注意:当答案长度多于4位时,请只输出最后4位,前导0不输出。
【输入输出样例1】expr.in expr.out1+1*3+4 8【输入输出样例2】expr.in expr.out1+1234567890*1 7891【输入输出样例3】expr.in expr.out1+1000000003*1 4【输入输出样例说明】样例1计算的结果为8,直接输出8。
样例2计算的结果为1234567891,输出后4位,即7891。
样例3计算的结果为1000000004,输出后4位,即4。
【数据范围】对于30%的数据,0≤表达式中加法运算符和乘法运算符的总数≤100;对于80%的数据,0≤表达式中加法运算符和乘法运算符的总数≤1000;对于100%的数据,0≤表达式中加法运算符和乘法运算符的总数≤100000。
这道题我看了一下,全市一百三十多人中,得一百分的只有三十多人,二十来人得了八九十分,其余的,绝大多数只有一二十分。
其实,这题并不难,只是烦些,算法及其实现有很多种。
作为两校中唯一一个此题全过的,我希望能与大家分享我的思路与算法。
初看这个题目,第一反应是字符串处理+高精度。
我是一个水货,这两方面非常不熟,当时就懵了。
回过神后,再仔细看题,发现表达式内的数据都不超过longint范围,且只要输出后四位,甚至不用高位补“0”,这才发现,此题其实挺简单的。
万变不离模拟法,我的算法出炉了。
小朋友的数字(noip2013普及组第三题)参考答案
for(i=1;i<n;i++)
{
sum=sum+shuzi[i];
if(sum>tezheng[i-1])
tezheng[i]=sum;
else
tezheng[i]=tezheng[i-1];
printf("%d\n",max);
}
else
{
max=max%p;
printf("%d\n",max);
}
getch();
}
{
int n,p,shuzi[1000],tezheng[1000],fenshu[1000],sum,i,max;
scanf("%d %d",&n,&p);
for(i=0;i<n;i++)
scanf("%d",&shuzi[i]);
tezheng[0]=shuzi[0];
小朋友的数字(noip2013普及组第三题)(number.cpp/c/pas)
描述
有 n 个小朋友排成一列。每个小朋友手上都有一个数字,这个数字可正可负。规定每个小朋友的特征值等于排在他前面(包括他本人)的小朋友中连续若干个(最少有一个)小朋友手上的数字之和的最大值。 作为这些小朋友的老师,你需要给每个小朋友一个分数,分数是这样规定的:第一个小朋友的分数是他的特征值,其它小朋友的分数为排在他前面的所有小朋友中(不包括他本人),小朋友分数加上其特征值的最大值。
}
for(i=0;i<n;i++)
NOIP2013初赛普及组C++题目及答案
第十九届全国青少年信息学奥林匹克联赛初赛普及组语言试题竞赛时间: 2013 年 10 月 13 日 14:30~16:30选手注意:试题纸共有 9 页,答题纸共有 2 页,满分 100 分。
请在答题纸上作答,写在试题纸上的一律无效。
不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料。
一、单项选择题(共20 题,每题 1.5 分,共计 30 分;每题有且仅有一个正确选项)1. 一个 32 位整型变量占用()个字节。
A. 4B. 8C. 32D. 1282. 二进制数 11.01 在十进制下是()。
A. 3.25B. 4.125C. 6.25D. 11.1253. 下面的故事与()算法有着异曲同工之妙。
从前有座山,山里有座庙,庙里有个老和尚在给小和尚讲故事:从前有座山,山里有座庙,庙里有个老和尚在给小和尚讲故事:‘从前有座山,山里有座庙,庙里有个老和尚给小和尚讲故事....’A. 枚举B. 递归C. 贪心D. 分治4. 逻辑表达式()的值与变量A 的真假无关。
A. (A ∨ B) ∧﹃AB. (A ∨ B) ∧﹃BC. (A ∧ B) ∨ (﹃ A ∧ B)D. (A ∨ B) ∧﹃A ∧ B5. 将( 2, 6, 10, 17)分别存储到某个地址区间为0~10 的哈希表中,如果哈希函数h(x) = (),将不会产生冲突,其中 a b 表示 a 除以 b 的余数。
A. x 11B. x2 11C. 2x 11D. |√2| 11 ,其中√X表示√X下取整6. 在十六进制表示法中,字母 A 相当于十进制中的()。
A. 9B. 10C. 15D. 167. 下图中所使用的数据结构是()。
A. 哈希表B. 栈C. 队列D. 二叉树8. 在资源管理器中,用鼠标右键单击一个文件时,会出现一个名为“复制”的操作选项,它的意思是()。
A. 用剪切板中的文件替换该文件B. 在该文件所在文件夹中,将该文件克隆一份C. 将该文件复制到剪切板,并保留原文件D. 将该文件复制到剪切板,并删除原文件9. 已知一棵二叉树有10 个节点,则其中至多有()个节点有 2 个子节点。
NOIP2013第十九届普及组初赛题目C++和答案-
第十九届全国青少年信息学奥林匹克联赛初赛普及组C++语言试题竞赛时间:2013 年10 月13 日14:30~16:30选手注意:●试题纸共有9 页,答题纸共有2 页,满分100 分。
请在答题纸上作答,写在试题纸上的一律无效。
●不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料。
一、单项选择题(共20 题,每题1.5 分,共计30 分;每题有且仅有一个正确选项)1.一个32 位整型变量占用()个字节。
D. 128A. 4B. 8C. 322.二进制数11.01 在十进制下是()。
A. 3.25B. 4.125C. 6.25D. 11.1253.下面的故事与()算法有着异曲同工之妙。
从前有座山,山里有座庙,庙里有个老和尚在给小和尚讲故事:‚从前有座山,山里有座庙,庙里有个老和尚在给小和尚讲故事:‘从前有座山,山里有座庙,庙里有个老和尚给小和尚讲故事....’‛A.枚举B. 递归C. 贪心D. 分治4.逻辑表达式()的值与变量A 的真假无关。
A.(A ˅ B) ˄ ¬AB. (A ˅ B) ˄ ¬BC. (A ˄ B) ˅ (¬A ˄ B)D. (A ˅ B) ˄ ¬A ˄ B5.将(2, 6, 10, 17)分别存储到某个地址区间为0~10 的哈希表中,如果哈希函数h(x) =(),将不会产生冲突,其中a mod b 表示a 除以b 的余数。
A.x mod 11B. x2 mod 11C. 2x mod 11D. ,其中下取整6.在十六进制表示法中,字母A 相当于十进制中的()。
A.9B. 10C. 15D. 167.下图中所使用的数据结构是()。
压入A 压入 B 弹出B 压入CA.哈希表B. 栈C. 队列D. 二叉树8.在Windows 资源管理器中,用鼠标右键单击一个文件时,会出现一个名为“复制”的操作选项,它的意思是()。
A. 用剪切板中的文件替换该文件B.在该文件所在文件夹中,将该文件克隆一份C.将该文件复制到剪切板,并保留原文件D.将该文件复制到剪切板,并删除原文件9.已知一棵二叉树有10 个节点,则其中至多有()个节点有2 个子节点。
NOIP2013普及组模拟试题3
NOIP模拟题bronze刘启鹏竞赛时间:2010年11月13日 8:30-11:30注意:最终测试时,所有编译命令均不打开任何优化开关。
Linear T riple【问题描述】一个线性三元组是指一个满足如下关系有序三元组(s1,s2,s3):s3-s2=s2-s1.如(1,2,3),(2,4,6),(14,21,28)都是满足条件的线性三元组.对于给定的一个S个元素的集合(元素值在1..100间),请输出可以组成的线性三元组的数目。
【输入格式】第一行:一个整数,S (3 <= S <= 30)。
第二行:S个用空格隔开的整数.【输出格式】仅一行,包含一个整数,可以组成的线性三元组的数量,保证在长整形范围内。
【样例输入1】71 2 3 4 6 8 9【样例输出1】5【数据说明】这些三元组是:1 2 32 3 42 4 63 6 94 6 8。
NOIP模拟题bronze 刘启鹏P vs NPP vs NP【问题描述】P/NP问题是在理论信息学中计算复杂度理论领域里至今没有解决的问题,它被“克雷数学研究所”(Clay Mathematics Institute, 简称CMI)在千禧年大奖难题中收录。
P/NP问题中包含了复杂度类P与NP的关系。
1971年Stephen A. Cook 和Leonid Levin 相对独立的提出了下面的问题,即是否两个复杂度类P和NP是恒等的(P=NP?)。
这个问题似乎难了点,放在NOIP第一题不太人道。
放心,你需要解决的只是一个简化版的问题:P=N*P?【输入格式】输入的第一行包含两个数,分别为N和P。
【输出格式】如果P=N*P,输出True。
否则输出False。
【样例输入1】1 123789325797235098234798235709235092357092357092347092370924234 【样例输出1】True【样例输入2】-3.14159265358979323846264338327950288419716939937510 0【样例输出2】True【数据说明】保证读入不会超过0.1s。
NOIP2013提高组复赛试题day1+day2
全国信息学奥林匹克联赛(2013)复赛提高组11.转圈游戏()【问题描述】n 个小伙伴(编号从0 到1)围坐一圈玩游戏。
按照顺时针方向给n 个位置编号,从0 到1。
最初,第0 号小伙伴在第0 号位置,第1 号小伙伴在第1 号位置,……,依此类推。
游戏规则如下:每一轮第0 号位置上的小伙伴顺时针走到第m 号位置,第1 号位置小伙伴走到第1 号位置,……,依此类推,第n − m号位置上的小伙伴走到第0 号位置,第1 号位置上的小伙伴走到第1 号位置,……,第1 号位置上的小伙伴顺时针走到第1 号位置。
现在,一共进行了10k 轮,请问x 号小伙伴最后走到了第几号位置。
【输入】输入文件名为。
输入共1 行,包含4 个整数n、m、k、x,每两个整数之间用一个空格隔开。
【输出】输出文件名为。
输出共1 行,包含1 个整数,表示10k 轮后x 号小伙伴所在的位置编号。
【输入输出样例】10 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.火柴排队()【问题描述】涵涵有两盒火柴,每盒装有n 根火柴,每根火柴都有一个高度。
现在将每盒中的火柴各自排成一列,同一列火柴的高度互不相同,两列火柴之间的距离定义为:,其中表示第一列火柴中第i 个火柴的高度,表示第二列火柴中第i 个火柴的高度。
每列火柴中相邻两根火柴的位置都可以交换,请你通过交换使得两列火柴之间的距离最小。
请问得到这个最小的距离,最少需要交换多少次?如果这个数字太大,请输出这个最小交换次数对99,999,997 取模的结果。
【输入】输入文件为。
共三行,第一行包含一个整数n,表示每盒中火柴的数目。
第二行有n 个整数,每两个整数之间用一个空格隔开,表示第一列火柴的高度。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
linux CCF 全国信息学奥林匹克联赛(NOIP2013)复赛
普及组
(请选手务必仔细阅读本页内容)
注意事项:
1、文件名(程序名和输入输出文件名)必须使用英文小写。
2、C/C++中函数main()的返回值类型必须是int ,程序正常结束时的返回值必须是0。
3、全国统一评测时采用的机器配置为:CPU AMD Athlon(tm) 64x2 Dual Core CPU 5200+,2.71GHz ,内存2G ,上述时限以此配置为准。
4、只提供格式附加样例文件。
5、特别提醒:评测在NOI Linux 下进行。
1.记数问题
(count.cpp/c/pas)
【问题描述】
试计算在区间1到n的所有整数中,数字x(0≤x≤9)共出现了多少次?例如,在1到11中,即在1、2、3、4、5、6、7、8、9、10、11中,数字1出现了4次。
【输入】
输入文件名为count.in。
输入共1行,包含2个整数n、x,之间用一个空格隔开。
【输出】
输出文件名为count.out。
输出共1行,包含一个整数,表示x出现的次数。
【数据说明】
对于100%的数据,1≤n≤1,000,000,0≤x≤9。
2.表达式求值
(expr.cpp/c/pas)
【问题描述】
给定一个只包含加法和乘法的算术表达式,请你编程计算表达式的值。
【输入】
输入文件为expr.in。
输入仅有一行,为需要你计算的表达式,表达式中只包含数字、加法运算符“+”和乘法运算符“*”,且没有括号,所有参与运算的数字均为0到231-1之间的整数。
输入数据保证这一行只有0~ 9、+、*这12种字符。
【输出】
输出文件名为expr.out。
输出只有一行,包含一个整数,表示这个表达式的值。
注意:当答案长度多于4位时,请只输出最后4位,前导0不输出。
【输入输出样例1】
【输入输出样例2】
【输入输出样例说明】
样例1计算的结果为8,直接输出8。
样例2计算的结果为1234567891,输出后4位,即7891。
样例3计算的结果为1000000004,输出后4位,即4。
【数据范围】
对于30%的数据,0≤表达式中加法运算符和乘法运算符的总数≤100;
对于80%的数据,0≤表达式中加法运算符和乘法运算符的总数≤1000;
对于100%的数据,0≤表达式中加法运算符和乘法运算符的总数≤100000。
3.小朋友的数字
(number.cpp/c/pas)
【问题描述】
有n个小朋友排成一列。
每个小朋友手上都有一个数字,这个数字可正可负。
规定每个小朋友的特征值等于排在他前面(包括他本人)的小朋友中连续若干个(最少有一个)小朋友手上的数字之和的最大值。
作为这些小朋友的老师,你需要给每个小朋友一个分数,分数是这样规定的:第一个小朋友的分数是他的特征值,其它小朋友的分数为排在他前面的所有小朋友中(不包括他本人),小朋友分数加上其特征值的最大值。
请计算所有小朋友分数的最大值,输出时保持最大值的符号,将其绝对值对p取模后输出。
【输入】
输入文件为number.in。
第一行包含两个正整数n、p,之间用一个空格隔开。
第二行包含n个数,每两个整数之间用一个空格隔开,表示每个小朋友手上的数字。
【输出】
输出文件名为number.out。
输出只有一行,包含一个整数,表示最大分数对p取模的结果。
小朋友的特征值分别为1、3、6、10、15,分数分别为1、2、5、11、21,最大值21对997的模是21。
小朋友的特征值分别为-1、-1、-1、-1、-1,分数分别为-1、-2、-2、-2、-2,最大值-1对7的模为-1,输出-1。
【数据范围】
对于50%的数据,1≤n≤1,000,1≤p≤1,000所有数字的绝对值不超过1000;
对于100%的数据,1≤n≤1,000,000,1≤p≤109,其他数字的绝对值均不超过109。
4.车站分级
(level.cpp/c/pas)
【问题描述】
一条单向的铁路线上,依次有编号为1, 2, …, n的n个火车站。
每个火车站都有一个级别,最低为1级。
现有若干趟车次在这条线路上行驶,每一趟都满足如下要求:如果这趟车次停靠了火车站x,则始发站、终点站之间所有级别大于等于火车站x的都必须停靠。
(注意:起始站和终点站自然也算作事先已知需要停靠的站点)
例如,下表是5趟车次的运行情况。
其中,前4趟车次均满足要求,而第5趟车次由于停靠了3号火车站(2级)却未停靠途经的6号火车站(亦为2级)而不满足要求。
现有m趟车次的运行情况(全部满足要求),试推算这n个火车站至少分为几个不同的级别。
【输入】
输入文件为level.in。
第一行包含2个正整数n, m,用一个空格隔开。
第i + 1行(1 ≤ i≤ m)中,首先是一个正整数s i(2 ≤ s i≤ n),表示第i趟车次有s i个停靠站;接下来有s i个正整数,表示所有停靠站的编号,从小到大排列。
每两个数之间用一个空格隔开。
输入保证所有的车次都满足要求。
【输出】
输出文件为level.out。
输出只有一行,包含一个正整数,即n个火车站最少划分的级别数。
【数据范围】
对于20%的数据,1 ≤ n, m ≤ 10;
对于50%的数据,1 ≤ n, m ≤ 100;
对于100%的数据,1 ≤ n, m ≤ 1000。