第十一届全国青少年奥林匹克信息学联赛复赛普及组试题
CCF全国信息学奥林匹克联赛NOIP普及组复赛试题
CCF全国信息学奥林匹克联赛NOIP普及组复赛试题CCF全国信息学奥林匹克联赛(NOIP2018)复赛普及组(请选手务必仔细阅读本页内容)注意事项:1、文件名(程序名和输入输出文件名)必须使用英文小写。
2、C/C++中函数main()的返回值类型必须是int,程序正常结束时的返回值必须是0。
3、全国统一评测时采用的机器配置为:Intel(R) Core(TM) i7-****************,内存32GB。
上述时限以此配置为准。
4、只提供Linux格式附加样例文件。
5、特别提醒:评测在当前最新公布的NOI Linux下进行,各语言的编译器版本以其为准。
1. 标题统计(title.cpp/c/pas)【问题描述】凯凯刚写了一篇美妙的作文,请问这篇作文的标题中有多少个字符?注意:标题中可能包含大、小写英文字母、数字字符、空格和换行符。
统计标题字符数时,空格和换行符不计算在内。
【输入格式】输入文件名为title.in。
输入文件只有一行,一个字符串s。
【输出格式】输出文件名为title.out。
输出文件只有一行,包含一个整数,即作文标题的字符数(不含空格和换行符)。
见选手目录下的title/title1.in和title/title1.ans。
【输入输出样例1说明】标题中共有3个字符,这3个字符都是数字字符。
见选手目录下的title/title2.in和title/title2.ans。
【输入输出样例2说明】标题中共有5个字符,包括1个大写英文字母,1个小写英文字母和2个数字字符,还有1个空格。
由于空格不计入结果中,故标题的有效字符数为4个。
【数据规模与约定】规定|s|表示字符串s的长度(即字符串中的字符和空格数)。
对于40%的数据,1≤|s|≤5,保证输入为数字字符及行末换行符。
对于80%的数据,1≤|s|≤5,输入只可能包含大、小写英文字母、数字字符及行末换行符。
对于100%的数据,1≤|s|≤5,输入可能包含大、小写英文字母、数字字符、空格和行末换行符。
第十一届全国青少年信息学奥林匹克联赛(普P&C)试题及答案
NOIP2005第十一届全国青少年信息学奥林匹克联赛初赛(普及组P&C)试题及答案●● 全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效●●一.选择一个正确答案代码(A/B/C/D/E),填入每题的括号内(每题1.5分, 共30分)1. 在字符串“ababacbabcbdecced”中出现次数最多的字母出现了()次。
A. 6B. 5C. 4D. 3E. 22. 设全集I = {a, b, c, d, e, f, g, h},集合A = {a, b, c, d, e, f},B = {c, d, e},C = {a, d},那么集合C B A ~ Ç Ç 为()。
A. {c, e}B. {d, e}C. {e}D. {c, d, e}E. {d, f}3. 和十进制数23的值相等的二进制数是()。
A. 10110B. 11011C. 11011D. 10111E. 100114. 完全二叉树的结点个数为11,则它的叶结点个数为()。
A. 4B.3C.5D. 2E. 65. 平面上有五个点A(5, 3), B(3, 5), C(2, 1), D(3, 3), E(5, 1)。
以这五点作为完全图G 的顶点,每两点之间的直线距离是图G 中对应边的权值。
以下哪条边不是图G 的最小生成树中的边()。
A. ADB. BDC. CDD. DEE. EA6. Intel的首颗16 位处理器是()。
A. 8088B. 80386C. 80486D. 8086E. Pentium7. 处理器A 每秒处理的指令数是处理器B 的2 倍。
某一特定程序P 分别编译为处理器A和处理器B 的指令,编译结果处理器A 的指令数是处理器B 的4 倍。
已知程序P 在处理器A 上执行需要1 个小时,那么在输入相同的情况下,程序P 在处理器B 上执行需要()小时。
A. 4B. 2C. 1D. 1 / 2E. 1 / 48. 以下哪个不是计算机的输出设备()。
NOIP2011普及组复赛(精彩试题+源程序)
NOIP2011 普及组复赛1.数字反转(reverse.cpp/c/pas)【问题描述】给定一个整数,请将该数各个位上数字反转得到一个新数。
新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零。
(参见样例2)【输入】输入文件名为reverse.in。
输入共一行,一个整数N。
【输出】输出文件名为reverse.out。
输出共1行,一个整数,表示反转后的新数。
-1,000,000,000≤N≤1,000,000,000。
【解题】这道题非常简单,可以读字符串处理,也可以读数字来处理,只不过要注意符号问题(以及-0,但测试数据没出)。
【法一】字符串处理Var i,l,k:integer;s:string;p:boolean;beginassign(input, 'reverse.in'); reset(input);assign(output, 'reverse.out'); rewrite(output);readln(s);l:=length(s);k:=1;if s[1]='-' thenbeginwrite('-');k:=2;end;p:=true;;for i:=l downto k dobeginif(p)and((s[i]='0')) then continueelsebeginwrite(s[i]);p:=false;;end;end;close(input); close(output);end.【法二】数字处理Var f:integer;n,ans:longint;beginassign(input, 'reverse.in'); reset(input);assign(output, 'reverse.out'); rewrite(output);readln(n);if n<0 thenbeginf:=-1;n:=-n;endelsef:=1;ans:=0;while n<>0 dobeginans:=ans*10+n mod 10;n:=n div 10;end;ans:=ans*f;writeln(ans);close(input); close(output);end.2.统计单词数(stat.pas/c/cpp)【问题描述】一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次数。
NOIP2005普及组初赛试题及答案
第十一届全国青少年信息学奥林匹克联赛初赛试题(普及组pascal&C 语言二小时完成)●● 全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效●●由OIFans()整理一.选择一个正确答案代码(A/B/C/D/E),填入每题的括号内(每题1.5分, 共30分)1. 在字符串“ababacbabcbdecced”中出现次数最多的字母出现了()次。
A. 6B. 5C. 4D. 3E. 22. 设全集I = {a, b, c, d, e, f, g, h},集合A = {a, b, c, d, e, f},B = {c, d, e},C = {a, d},那么集合C B A ~ Ç Ç 为()。
A. {c, e}B. {d, e}C. {e}D. {c, d, e}E. {d, f}3. 和十进制数23的值相等的二进制数是()。
A. 10110B. 11011C. 11011D. 10111E. 100114. 完全二叉树的结点个数为11,则它的叶结点个数为()。
A. 4B.3C.5D. 2E. 65. 平面上有五个点A(5, 3), B(3, 5), C(2, 1), D(3, 3), E(5, 1)。
以这五点作为完全图G 的顶点,每两点之间的直线距离是图G 中对应边的权值。
以下哪条边不是图G 的最小生成树中的边()。
A. ADB. BDC. CDD. DEE. EA6. Intel的首颗16 位处理器是()。
A. 8088B. 80386C. 80486D. 8086E. Pentium7. 处理器A 每秒处理的指令数是处理器B 的2 倍。
某一特定程序P 分别编译为处理器A和处理器B 的指令,编译结果处理器A 的指令数是处理器B 的4 倍。
已知程序P 在处理器A 上执行需要1 个小时,那么在输入相同的情况下,程序P 在处理器B 上执行需要()小时。
A. 4B. 2C. 1D. 1 / 2E. 1 / 48. 以下哪个不是计算机的输出设备()。
NOIP2011普及组复赛试题
1.数字反转(reverse.cpp/c/pas)【问题描述】给定一个整数,请将该数各个位上数字反转得到一个新数。
新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例2)。
【输入】输入文件名为reverse.in。
输入共1行,一个整数N。
【输出】输出文件名为reverse.out。
输出共1行,一个整数,表示反转后的新数。
【输入输出样例1】reverse.in reverse.out 123 321【输入输出样例2】Reverse.in reverse.out -380 -83【数据范围】-1,000,000,000≤N≤1,000,000,000。
2.统计单词数(stat.cpp/c/pas)【问题描述】一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次数。
现在,请你编程实现这一功能,具体要求是:给定一个单词,请你输出它在给定的文章中出现的次数和第一次出现的位置。
注意:匹配单词时,不区分大小写,但要求完全匹配,即给定单词必须与文章中的某一独立单词在不区分大小写的情况下完全相同(参见样例1),如果给定单词仅是文章中某一单词的一部分则不算匹配(参见样例2)。
【输入】输入文件名为stat.in,2行。
第1行为一个字符串,其中只含字母,表示给定单词;第2行为一个字符串,其中只可能包含字母和空格,表示给定的文章。
【输出】输出文件名为stat.out。
只有一行,如果在文章中找到给定单词则输出两个整数,两个整数之间用一个空格隔开,分别是单词在文章中出现的次数和第一次出现的位置(即在文章中第一次出现时,单词首字母在文章中的位置,位置从0开始);如果单词在文章中没有出现,则直接输出一个整数-1。
【输入输出样例1】stat.in stat.out2 0Toto be or not to be is a question【输入输出样例1说明】输出结果表示给定的单词To在文章中出现两次,第一次出现的位置为0。
NOIP2005普及组初赛试题及答案
第十一届全国青少年信息学奥林匹克联赛初赛试题(普及组pascal&C 语言二小时完成)●● 全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效●●由OIFans()整理一.选择一个正确答案代码(A/B/C/D/E),填入每题的括号内(每题1.5分, 共30分)1. 在字符串“ababacbabcbdecced”中出现次数最多的字母出现了()次。
A. 6B. 5C. 4D. 3E. 22. 设全集I = {a, b, c, d, e, f, g, h},集合A = {a, b, c, d, e, f},B = {c, d, e},C = {a, d},那么集合C B A ~ Ç Ç 为()。
A. {c, e}B. {d, e}C. {e}D. {c, d, e}E. {d, f}3. 和十进制数23的值相等的二进制数是()。
A. 10110B. 11011C. 11011D. 10111E. 100114. 完全二叉树的结点个数为11,则它的叶结点个数为()。
A. 4B.3C.5D. 2E. 65. 平面上有五个点A(5, 3), B(3, 5), C(2, 1), D(3, 3), E(5, 1)。
以这五点作为完全图G 的顶点,每两点之间的直线距离是图G 中对应边的权值。
以下哪条边不是图G 的最小生成树中的边()。
A. ADB. BDC. CDD. DEE. EA6. Intel的首颗16 位处理器是()。
A. 8088B. 80386C. 80486D. 8086E. Pentium7. 处理器A 每秒处理的指令数是处理器B 的2 倍。
某一特定程序P 分别编译为处理器A和处理器B 的指令,编译结果处理器A 的指令数是处理器B 的4 倍。
已知程序P 在处理器A 上执行需要1 个小时,那么在输入相同的情况下,程序P 在处理器B 上执行需要()小时。
A. 4B. 2C. 1D. 1 / 2E. 1 / 48. 以下哪个不是计算机的输出设备()。
第十一届全国青少年奥林匹克信息学联赛复赛普及组试题
第十一届全国青少年奥林匹克信息学联赛复赛普及组试题及答案陶陶摘苹果(apple.pas/c/cpp)【问题描述】陶陶家的院子里有一棵苹果树,每到秋天树上就会结出10个苹果。
苹果成熟的时候,陶陶就会跑去摘苹果。
陶陶有个30厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试。
现在已知10个苹果到地面的高度,以及陶陶把手伸直的时候能够达到的最大高度,请帮陶陶算一下她能够摘到的苹果的数目。
假设她碰到苹果,苹果就会掉下来。
【输入文件】输入文件apple.in包括两行数据。
第一行包含10个100到200之间(包括100和200)的整数(以厘米为单位)分别表示10个苹果到地面的高度,两个相邻的整数之间用一个空格隔开。
第二行只包括一个100到120之间(包含100和120)的整数(以厘米为单位),表示陶陶把手伸直的时候能够达到的最大高度。
【输出文件】输出文件apple.out包括一行,这一行只包含一个整数,表示陶陶能够摘到的苹果的数目。
【样例输入】100 200 150 140 129 134 167 198 200 111110【样例输出】5[参考程序]题目讲解:简单的循环和文件操作的考察,和去年“不高兴的晶晶”有相似之处,但是比那一道题目简单。
program apple(input,output);varapp:array[1..10] of integer;f1,f2:text;i,j,n:integer;beginassign(f1,'apple.in');assign(f2,'apple.out');reset(f1);rewrite(f2);for i:=1 to 10 do read(f1,app);read(f1,n);j:=0;for i:=1 to 10 doif app<=n+30 then j:=j+1;writeln(f2,j);close(f1);close(f2);end.校门外的树(tree.pas/c/cpp)【问题描述】某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米。
全国青少年信息学奥林匹克联赛培训习题与解答
全国青少年信息学奥林匹克联赛培训习题与解答第一章计算机基础知识1、我国先后自行研制成功“银河”系列的巨型计算机,其中:“银河”于1983年问世,其运算速度为每秒 1亿次;―银河Ⅱ‖于1992年诞生,其运算速度为每秒 10亿次;“银河Ⅲ”于1997年通过国家鉴定,其运算速度为每秒130亿次。
2、计算机的特点:运算速度快、计算精度高,可靠性好、有记忆和逻辑判断能力、有自动0程序的能力、可处理各种类型的数据与信息。
3、计算机应用于:数字计算、信息处理、辅助设计(CAD)和辅助教学(CAI)、工业控制、多媒体应用、网络技术。
4、下列软件均属于操作系统的是:B (因为WPS、WORD、FOXBASE是应用软件)(A)WPS与PC DOS (B)WINDOWS与MS DOS(C)WORD与WINDOWS (C)FOXBASE与OS/25、操作系统是重要的系统软件,下面几个软件中不属于操作系统的是 C(A)MS-DOS (B)UCDOS (C)PASCAL (D)WINDOWS956、MS-DOS系统对磁盘信息进行管理和使用是以A 为单位的。
【对磁盘信息的存取必须以访问文件方式进行】(A)文件(B)盘片(C)字节(D)命令7、在计算机内部用来传送、存贮、加工处理的数据或指令(命令)都是以C 形式进行的【计算机内部无论是数据还是命令都需要转换成二进制码才能传送、存贮、加工处理】(A)十进制码(B)智能拼音码(C)二进制码(D)五笔字型码8、微机内的存储器的地址是以( B )编址的。
【字长表示一个存储单元由多少位数组成,八位机的一个字长是1B,十六位机的一个字长是2B,字长位越多,可访问的存储器的地址也越多】(A)二进制位(B)字长(C)字节(D)微处理器的型号9、下列诸因素中,对微机工作影响最小的是( B )(A)尘土(B)噪声(C)温度(D)湿度10、在24*24点阵的字库中,汉字“一”与“编”的字模占用字节数分别是( C )(A)32、32 (B)32、72 (C)72、72 (D)72、32【在汉字编码中,字模汉字占用字节数与笔画的多少无关,因每行24点需要3B存储空间,24行共需要72B存储空间】11、将DOS系统盘插入A驱动器启动机器,随后使用一批应用软件,在此过程中,DOS系统盘(C)(A)必须始终插入在A驱动器中(B)不必再用(C)可能有时要插入A驱动器中(D)可能有时要插入B驱动器中【因机器启动成功后,常用命令常驻内存中,当需要调用操作系统中的外部命令时,需要再次再次插入A盘】12、计算机能直接执行的指令包括两部分,它们是(B)(A)源操作数与目标操作数(B)操作码与操作数(C)ASCII码与汉字代码(D)数字与字符【因计算机指令系统由操作码和操作数组成】13、在微机中,通用寄存器的位数是( C )(A)8位(B)16位(C)计算机字长(D)32位【因微机寄存器的位数与机器有关,取决于计算机字长】14、在计算机中,ASCII码是( B )位二进制代码(A)8 (B)7 (C)12 (D)16【表示27个状态,用128个不同的二进制编码来表示控制符号、十进制数、字符、大小写英文字母,最高位设置为0】15、计算机的软件系统通常分为( A )(A)系统软件与应用软件(B)高级软件与一般软件(C)军用软件与民用软件(D)管理软件与控制软件16、启动计算机引导DOS是将操作系统( D )(A)从磁盘调入中央处理器(B)从内存储器调入高速缓冲存储器(C)从软盘调入硬盘(D)从系统盘调入内存储器17、不同的计算机,其指令系统也不相同,这主要取决于( C )(A)所用的操作系统(B)系统的总体结构(C)所用的CPU (D)所用程序设计语言【CPU包括运算器、控制器,所有的控制和运算操作,均由控制器中的微指令进行操作。
NOIP2011普及组复赛试题
1 ≤ 单词长度 ≤ 10。 1 ≤ 文章长度 ≤ 1,000,000。
3.瑞士轮
(swiss.cpp/c/pas) 【背景】
在双人对决的竞技性比赛,如乒乓球、羽毛球、国际象棋中,最常见的赛制是淘汰赛和 循环赛。前者的特点是比赛场数少,每场都紧张刺激,但偶然性较高。后者的特点是较为公 平,偶然性较低,但比赛过程往往十分冗长。
选手、R 轮比赛,以及我们关心的名次 Q。 第二行是 2*N 个非负整数 s1, s2, …, s2N,每两个数之间用一个空格隔开,其中 si 表示编
号为 i 的选手的初始分数。 第三行是 2*N 个正整数 w1, w2, …, w2N,每两个数之间用一个空格隔开,其中 wi 表示编
号为 i 的选手的实力值。
(’、’)’是左右括号,’+’、’*’分别表示前面定义的运算符“⊕”和“×”。这行字符按顺序
给出了给定表达式中除去变量外的运算符和括号。 【输出】
输出文件 exp.out 共 1 行。包含一个整数,即所有的方案数。注意:这个数可能会很大, 请输出方案数对 10007 取模后的结果。
【输入输出样例 1】 exp.in 4 +(*)
三.编译命令(不包含任何优化开关)
对于 C++语言 g++ -o reverse g++ -o stat
reverse.cpp -lm stat.cpp -lm
对于 C 语言
gcc -o reverse gcc -o stat
reverse.c -lm
stat.c -lm
对于 pascal 语言 fpc reverse.pas fpc stat.pas
①—④ ②—③
第十一届全国青少年信息学奥林匹克联赛复赛试题普及组三小时完成静静摘苹果
第十一届全国青少年信息学奥林匹克联赛复赛试题(普及组三小时完成)静静摘苹果【解题报告】简单模拟题。
【数据说明】所有数据时限均为1秒。
校门外的树【解题报告】解法一:对区间进行排序:先按照起始点的坐标大小排序(先小后大),起始点相同的时候按照终止点的坐标大小排序(先小后大)。
排序之后可以剔除重叠的部分。
然后计算剩余的树的数目。
时间复杂度O(M logM)。
解法二:对每个树作一个标记。
如果某区域包含这棵树,则标记这个树被移走。
可以重复标记。
最后统计剩下树的数目。
时间复杂度最大是O(L * M)。
两种方法都可以通过所有数据。
【数据说明】所有数据时限均为1秒。
前2组数据区域之间没有重合,通过简单的计数就可以得到答案。
采药【解题报告】解法一:枚举或搜索所有在T时刻内可能采到的药的组合,计算最大价值。
时间复杂度不小于O(2M)。
解法二:动态规划:记f(t, m)是如果只采前m株草药,在时间t里能够得到的最大价值。
可以得到f(t, m) = max{f(t, m – 1), f(t –采第m株草药需要的时间, m – 1) + 第m株草药的价值} 时间复杂度O(T * M)。
【数据说明】所有数据时限均为1秒。
前3组数据规模很小,使用解法一就可以得到答案。
循环【解题报告】因为后k位的数字无非就是00...00(k个0)至99...99(k个0)这100...00(k个0)个不同的数,因此,在前100...01(k - 1个0)次至少有2次的值相等。
如果最先出现重复的n的两个次幂分别是a和a + L,那么如果a不等于1,就没有循环;如果a等于1,则循环长度是L。
解法一:依次计算n1,n2,n3,……直到发现n a 和n a + L的最后k位都相同。
不考虑高精度运算,最差时间复杂度是O(10k)。
解法二:容易知道,如果后p位的循环长度是L,则后p + 1位的循环长度是L的倍数。
因此计算后p + 1位的循环长度时,只用计算n1,n L + 1,n2L + 1,……。
NOIP2021复赛普及组试题
2
5
6
三元组:(x,
y, z),其中 x,y,z 都代表纸带上格子的编号,那个地址的三元组要求知足以下两个条件:
1. , , 都是整数, < < , − = −
2. =
知足上述条件的三元组的分数规定为(x + z) ∗ ( + )。整个纸带的分
纸带如题目描述中的图所示。
所有知足条件的三元组为:(1,3, 5), (4, 5, 6)。
因此纸带的分数为(1 + 5) ∗ (5 + 2) + (4 + 6) ∗ (2 + 2) = 42 + 40 = 82。
【输入输出样例 2】
15 4
1388
5 10 8 2 2 2 9 9 7 7 5 6 4 2 4
该格将会显现一个数字——提示周围格子中有多少个是地雷格。游戏的目标是在不翻出
任何地雷格的条件下,找出所有的非地雷格。
此刻给出 n 行 m 列的雷区中的地雷散布,要求计算出每一个非地雷格周围的地雷格
数。
注:一个格子的周围格子包括其上、下、左、右、左上、右上、左下、右下八个方
向上与之直接相邻的格子。
【输入格式】
S1≤S2≤…≤Sn<108。
接下来的一行有 N 个正整数,其中第 i 个整数 Ai 表示向第 i 户住户推销产品会积存的疲劳
值。数据保证 Ai<103。
【输出格式】
输出文件名为 。
输出 N 行,每行一个正整数,第 i 行整数表示当 X=i 时,阿明最多积存的疲劳值。
【输入输出样例 1】
5
15
12345
19
12345
22
全国青少年信息学奥林匹克联赛初赛练习卷(十一)new答案
全国青少年信息学奥林匹克联赛初赛练习卷(十一)(普及组PASCAL语言二小时完成)●●全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效●●一、单项选择题(20题,每题1.5分,共计30分。
每题有且仅有一个正确答案)1.计算机的主存容量达到1GB时,其地址的表示至少需要使用()个二进位。
A. 10位B. 20位C. 30位D. 40位2.任意一棵树均可以唯一地转换成与它对应的二叉树。
在由树转换成的二叉树中,结点N的左右子女分别是N在原树里对应结点的()。
A. 最左子结点/最邻近的右兄弟B. 最右子结点/最右的兄弟C. 最邻近的右兄弟/最左的兄弟D. 最邻近的左兄弟/最邻近的右兄弟3.十进制数100的反码和补码表示分别是()。
A. 9BH和64HB. 64H和9BHC. 64H和64HD. 9BH和9BH4.在TCP/IP协议中,下列服务不属于应用层的是()。
A. WWWB. FTPC. SMTPD. TCPTCP/IP协议簇采用了4层结构,每一层都调用它的下一层所提供的网络服务来完成自己的需求。
这4层分别为:(1)应用层:应用程序间沟通的层,如简单电子邮件传输(SMTP)、文件传输(FTP)、远程登录(Telnet)协议等。
(2)传输层:在此层中,提供了网络结点间的数据传送服务,如传输控制协议(TCP)、用户数据报协议(UDP)等,TCP和UDP给数据包加入传输数据,并把它传输到下一层中。
这一层负责传送数据,并确定数据已被送达和接收。
(3)(互连)网络层:负责提供基本的数据封包传送功能,让每一块数据包都能够到达目的主机(但不检查是否被正确接收),如网际协议(IP)。
(4)网络接口层:对实际的网络媒体的管理、定义如何使用实际网络(如Ethernet等)来传送数据。
TCP不属于应用层,属于传输层,故答案为D。
5.在Windo ws中,若要将当前窗口存入剪贴板中,可以按()。
A. Alt+PrintScreen键B. Ctrl+PrintScreen键C. PrintScreen键D. Shitf+PrintScreen键6.MIPS是衡量CP U处理速度的一种常用指标,它的含义是()。
noip普及组复赛模拟试题11答案
机器人深海探测是一个极富挑战性的高技术科学研究项目。
小雪参加了这一项目的研究工作。
潜水机器人可以携带规定有限的能量。
在深海探测过程中,机器人需要消耗一定的能量,但可以在机器人之间通过接触传递能量。
用多个潜水机器人接力潜水可以极大地提高潜水机器人的潜水深度。
现给定2个潜水机器人。
第1个潜水机器人最多可以携带x1单位的能量,每下潜1米需要消耗能量y1单位。
第2个潜水机器人最多可以携带x2单位的能量,每下潜1米需要消耗能量y2单位。
开始时2个潜水机器人均处于同一海平面高度为0,并且每个机器人初始时都携带了规定最多的能量。
计算用这2个机器人进行不返回的接力深海探测可下潜的最大深度。
输入:每行一个整数,依次为x1,x2,y1,y2;输出: 这2个登山机器人可下潜的最大深度,精确到小数点后2位。
例如输入:50500.010.01输出:7500.00var x1,x2,y1,y2,x,y,s:real;beginreadln(x1); readln(x2); readln(y1); readln(y2);s:=0;if (x1/y1)>(x2/y2) thenbeginx:=x1;y:=y1;endelse beginx:=x2;y:=y2;end;repeatx1:=x1-y1;x2:=x2-y2;s:=s+1;until x1+x2<=x;s:=s+x/y;writeln(s:0:2);readln;end.输入:40 0.02↙50 0.01↙输出:6334.00输入25350.150.25输出254.671233211.55.1输出131.002035年,智能机器人在各行各业中的应用已经十分普遍了,毕竟它做事时的精度与力量比一个普通人是强多了。
王涛的运输队里就有一个,是用来装卸货物的。
这天,他们的任务是要把N(2 <= N <= 50 )根废旧的条形钢材运送到钢铁厂重新冶炼。
这些钢材长短不同(有些还特别的长),为了便于运输,只好把它们切割成小段。
信奥赛普及组复赛试卷
信奥赛普及组复赛试卷一、单项选择题(每题2分,共30分)1. 在C++语言中,以下哪个符号用于定义一个整数变量?()A. #B. $.C. int.D. char.2. 一个完整的C++程序必须有()。
A. 预处理命令。
B. 输入输出语句。
C. 主函数。
D. 函数调用。
3. 在C++中,若定义了 `int a = 5;`,表达式 `a++` 的值为()。
A. 5.B. 6.C. 7.D. 8.4. 若有数组定义 `int arr[5] = {1, 2, 3, 4, 5};`,则访问数组元素`arr[3]` 的值为()。
A. 1.B. 2.C. 3.D. 4.5. 在C++中,用于从标准输入读取一个整数的函数是()。
A. scanf.B. cin.C. get.D. read.6. 以下关于函数的说法正确的是()。
A. 函数可以没有返回值。
B. 函数只能有一个参数。
C. 函数内部不能定义变量。
D. 函数名不能以数字开头。
7. 在C++中,若有函数声明 `void fun(int x);`,则函数 `fun` 的参数传递方式是()。
A. 值传递。
B. 地址传递。
C. 引用传递。
D. 指针传递。
8. 若要计算1到100的整数和,以下哪种循环结构最合适?()A. for循环。
B. while循环。
C. do - while循环。
D. 任意一种循环都可以。
9. 在C++中,以下关于字符串的操作正确的是()。
A. 可以直接用 `==` 比较两个字符串是否相等。
B. 字符串是基本数据类型。
C. 可以用 `strcpy` 函数复制字符串。
D. 字符串的长度可以用 `sizeof` 直接获取。
10. 若有结构体定义:cpp.struct Student {int id;char name[20];};定义一个结构体变量 `Student stu;` 后,要给成员变量 `id` 赋值为1001,以下正确的是()。
A. stu - > id = 1001;B. stu.id = 1001;C. (*stu).id = 1001;D. 以上都不对。
全国信息学奥林匹克竞赛NOIP试题汇总
输入文件tree.in的第一行有两个整数L(1 <=L<= 10000)和M(1 <=M<= 100),L代表马路的长度,M代表区域的数目,L和M之间用一个空格隔开。
例如上例,只有一种的和为素数:3+7+19=29)。
[输入]:
键盘输入,格式为:
n
x1,x2
[
屏幕输出,格式为:
一个整数(满足条件的种数)。
[输入输出样例]:
输入:
4 3
3 7 12 19
输出:
1
[问题描述]:
给出一个整数n(口<10八30)和k个变换规则(k<=15)。规则:
一位数可变换成另一个一位数:
[输入输出样例]:
输入:
6 6 3 2
输出:
17
2005年第十一届NOIP复赛试题(提高组)
发布日期
谁拿了最多奖学金
(scholar.pas/c/cpp)
【问题描述】
某校的惯例是在每学期的期末考试之后发放奖学金。发放的奖学金共有五种,获 取的条件各自不同:
1)院士奖学金,每人8000元,期末平均成绩高于80分(>80),并且在 本学期内发表1篇或1篇以上论文的学生均可获得;
输入中的表达式的长度都不超过50个字符,而且保证选项中总有表达式和题干 中的表达式是等价的。
【输出文件】
输出文件equal.out包括一行,这一行包括一系列选项的标号,表示哪些选项是和 题干中的表达式等价的。选项的标号按照字母顺序排列,而且之间没有空格。
【样例输入】
(
3
(a-1)A2+4*a
a + 1+ a
a
【样例输出】
全国青少年信息学奥林匹克联赛初赛试题普及组C++题目及答案 (2)
第十六届全国青少年信息学奥林匹克联赛初赛试题(普及组 C++语言两小时完成)●●全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效●●一、单项选择题(共20题,每题1.5分,共计30分。
每题有且仅有一个正确选项。
)1.2E+03表示()。
A. 2.03B. 5C. 8D. 20002.一个字节(byte)由()个二进制位组成。
A. 8B. 16C. 32D. 以上都有可能3.以下逻辑表达式的值恒为真的是()。
A. P∨(¬P∧Q)∨(¬P∧¬Q)B. Q∨(¬P∧Q)∨(P∧¬Q)C. P∨Q∨(P∧¬Q)∨(¬P∧Q)D. P∨¬Q∨(P∧¬Q)∨(¬P∧¬Q)4.Linux下可执行文件的默认扩展名为()。
A. exeB. comC. dllD. 以上都不是5.如果树根算第1层,那么一棵n层的二叉树最多有()个结点。
A. 2n-1B. 2nC. 2n+1D. 2n+16.提出“存储程序”的计算机工作原理的是()。
A. 克劳德·香农B. 戈登·摩尔C. 查尔斯·巴比奇D. 冯·诺依曼7.设X、Y、Z分别代表三进制下的一位数字,若等式XY + ZX = XYX在三进制下成立,那么同样在三进制下,等式XY * ZX = ()也成立。
A. YXZB. ZXYC. XYZD. XZY8.Pascal语言、C语言和C++语言都属于()。
A. 面向对象语言B. 脚本语言C. 解释性语言D. 编译性语言9.前缀表达式“+ 3 * 2 + 5 12”的值是()。
A. 23B. 25C. 37D. 6510.主存储器的存取速度比中央处理器(CPU)的工作速度慢得多,从而使得后者的效率受到影响。
而根据局部性原理,CPU所访问的存储单元通常都趋于聚集在一个较小的连续区域中。
信息学奥赛普及组1-18届问题求解题解析
历届“问题求解”解析(2013竞赛辅导)问题求解是信息学竞赛初赛中常见题型,它共两题,每题5分,共10分,十六届增加了比重,有三题,占15分。
诸如寻找假币、博弈原理、抽屉原理、容斥问题、排列组合、逻辑推理、递推关系等问题出现在问题求解中。
(相关问题的具体讲解根据需要考虑发讲义) 第一届(逻辑推理问题)1. 有标号为A 、B 、C 、D 和1、2、3、4的8个球,每两个球装一盒,分装4盒。
标号为字母的球与标号为数字的球有着某种一一对应的关系(称为匹配),并已知如下条件: ① 匹配的两个球不能在一个盒子内。
② 2号匹配的球与1号球在一个盒子里。
③ A 号和2号球在一个盒子里。
④ B 匹配的球和C 号球在一个盒子里。
⑤ 3号匹配的球与A 号匹配的球在一个盒子里。
⑥ 4号是A 或B 号球的匹配球。
⑦ D 号与1号或2号球匹配。
请写出这四对球匹配的情况。
第四届(递推、树、图)1. 已知一个数列U 1,U 2,U 3,…,U N ,… 往往可以找到一个最小的K 值和K 个数a 1,a 2,…,a n 使得数列从某项开始都满足: U N+K =a 1U N+K-1+a 2U N+K-2+……+a k U N (A)例如对斐波拉契数列1,1,2,3,5,…可以发现:当K=2,a 1 =1,a 2 =1时,从第3项起(即N>=1)都满足U n+2 =U n+1+U n 。
试对数列13,23,33,…,n 3,…求K 和a 1,a 2, …,a K 使得(A )式成立。
当K= 4,a 1,a 2,…,a k 为a 1=4, a 2=6, a 3=4,a 4=-1对数列132333,…,n 3,…(A )成立。
2.给出一棵二叉树的中序遍历:DBGEACHFI 与后序遍历:DGEBHIFCA 画出此二叉树。
3.用邻接矩阵表示下面的无向图:表示该无向图的邻接矩阵为 0 1 0 0 0 0 0 1 0 1 1 0 0 0 0 1 0 1 0 0 0 0 1 1 0 1 1 1 0 0 0 1 0 0 1 0 0 0 1 0 0 1 0 0 0 1 1 1 0第五届(递推)将Ln 定义为求在一个平面中用n 条直线所能确定的最大区域数目。
第十一年全国青少年信息学奥林匹克联赛提高组复赛试题
第十一年全国青少年信息学奥林匹克联赛提高组复赛试题NOIP2005信息学奥林匹克分区联赛解题报告[麓山NOI战队]第一题:谁拿了最多的奖学-S cholar[问题评估]那个题目据问题本身而言是相当简单的,没有牵涉到过多的算法,属于普及型试题。
同时也是对实际问题一种分析和判断。
总的来看,此题在方向上,向现实问题迈出了一步,是信息学和生活有了更多的联系。
问题的算法是模拟。
当中唯一的难点确实是数据处理,考察点为数据库的建立和统计。
[程序实现]由于程序数据范围只有100,当中不牵涉到数据移动,因此用一个纪录型数组,或者多个数组均可,在那个地方我们使用纪录型来描述。
关于输入数据有两种方式来实现。
法一〉逐个字符累加。
首先定义C:char;然后利用Untilc=‘’;作为终止符,将读入的字符连接存储到a[i].name 中。
代码为:Repeatread(c);a[i].name:=a[i].name+c;untilc=’‘;a[i].name:=copy(a[i].name,1,length(a[i].s)-1);如此做的好处是,后面的值能够直截了当用read语句读入。
然而最后一个值后,要记得readln;法二〉一次读入,然后分离。
如此做需要逐个分离,对此题来说稍显复杂,但对NOIP来说此方法必须掌握,有的时候一定要用。
具体实现,读入一个字符串S。
利用pos(‘‘,s);找出空格位置。
再利用Copy函数,和Val 函数进行截取,和转换。
部分代码:(s:string;j,ok:integer)readln(s);j:=pos(‘‘,s);a[i].name:=copy(s,1,j-1);s:=copy(s,j+1,50);//当长度〉字符串长度是,为后面全部截取。
j:=pos(‘‘,s);Val(copy(s,1,j-1),a[i].qp,ok);s:=copy(s,j+1,50);…..关于符号用if语句作一下判断确实是了,太easy不写了,后面还有几个值,用同样方法处理就能够了。
NOI普及组C++题目及答案精编
第十一届全国青少年信息学奥林匹克联赛初赛试题200 5(普及组C语言二小时完成)●●全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效●●一.选择一个正确答案代码(A/B/C/D/E),填入每题的括号内(每题1.5分,共30分)1.在字符串“ababacbabcbdecced”中出现次数最多的字母出现了()次。
A.6B.5C.4D.3E.22.设全集I={a,b,c,d,e,f,g,h},集合A={a,b,c,d,e,f},B={c,d,e},C={a,d},那么集合A∩B ∩~C为()。
A.{c,e}B.{d,e}C.{e}D.{c,d,e}E.{d,f}3.和十进制数23的值相等的二进制数是()。
A.10110B.11011C.11011D.10111E.100114.完全二叉树的结点个数为11,则它的叶结点个数为()。
A.4B.3C.5D.2E.65.平面上有五个点A(5,3),B(3,5),C(2,1),D(3,3),E(5,1)。
以这五点作为完全图G的顶点,每两点之间的直线距离是图G中对应边的权值。
以下哪条边不是图G的最小生成树中的边()。
A.ADB.BDC.CDD.DEE.EA6.Intel的首颗16位处理器是()。
A.8088B.80386C.80486D.8086E. Pentium7.处理器A每秒处理的指令数是处理器B的2倍。
某一特定程序P分别编译为处理器A和处理器B的指令,编译结果处理器A的指令数是处理器B的4倍。
已知程序P在处理器A上执行需要1个小时,那么在输入相同的情况下,程序P在处理器B上执行需要()小时。
A.4B.2C.1D.1/2E.1/48.以下哪个不是计算机的输出设备()。
A.音箱B.显示器C.打印机D.扫描仪E.绘图仪9.下列活动中不属于信息学奥赛的系列活动的是()。
A.NOIPB.NOIC.IOID.冬令营E.程序员等级考试10.以下断电之后仍能保存数据的是()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第十一届全国青少年奥林匹克信息学联赛复赛普及组试题
(普及组三小时完成)
陶陶摘苹果
(apple.pas/c/cpp)
【问题描述】
陶陶家的院子里有一棵苹果树,每到秋天树上就会结出10个苹果。
苹果成熟的时候,陶陶就会跑去摘苹果。
陶陶有个30厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试。
现在已知10个苹果到地面的高度,以及陶陶把手伸直的时候能够达到的最大高度,请帮陶陶算一下她能够摘到的苹果的数目。
假设她碰到苹果,苹果就会掉下来。
【输入文件】
输入文件apple.in包括两行数据。
第一行包含10个100到200之间(包括100和200)的整数(以厘米为单位)分别表示10个苹果到地面的高度,两个相邻的整数之间用一个空格隔开。
第二行只包括一个100到120之间(包含100和120)的整数(以厘米为单位),表示陶陶把手伸直的时候能够达到的最大高度。
【输出文件】
输出文件apple.out包括一行,这一行只包含一个整数,表示陶陶能够摘到的苹果的数目。
【样例输入】
100 200 150 140 129 134 167 198 200 111
110
【样例输出】
5
校门外的树
(tree.pas/c/cpp)
【问题描述】
某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米。
我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L
的位置;数轴上的每个整数点,即0,1,2,……,L,都种有一棵树。
由于马路上有一些区域要用来建地铁。
这些区域用它们在数轴上的起始点和终止点表示。
已知任一区域的起始点和终止点的坐标都是整数,区域之间可能有重合的部分。
现在要把这些区域中的树(包括区域端点处的两棵树)移走。
你的任务是计算将这些树都移走后,马路上还有多少棵树。
【输入文件】
输入文件tree.in的第一行有两个整数L(1 <= L <= 10000)和 M(1 <= M <= 100),L代表马路的长度,M代表区域的数目,L和M之间用一个空格隔开。
接下来的M行每行包含两个不同的整数,用一个空格隔开,表示一个区域的起始点和终止点的坐标。
【输出文件】
输出文件tree.out包括一行,这一行只包含一个整数,表示马路上剩余的树的数目。
【样例输入】
500 3
150 300
100 200
470 471
【样例输出】
298
【数据规模】
对于20%的数据,区域之间没有重合的部分;
对于其它的数据,区域之间有重合的情况。
采药
(medic.pas/c/cpp)
【问题描述】
辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。
为此,他想拜附近最有威望的医师为师。
医师为了判断他的资质,给他出了一个难题。
医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值。
我会给你一段时间,在这段时间里,你可以采到一些草药。
如果你是一个聪明的孩子,你应该可以让采到的草药的总价值最大。
”
如果你是辰辰,你能完成这个任务吗?
【输入文件】
输入文件medic.in的第一行有两个整数T(1 <= T <= 1000)和M(1 <= M <= 100),用一个空格隔开,T代表总共能够用来采药的时间,M代表山洞里的草药的数目。
接下来的M行每行包括两个在1到100之间(包括1和100)的整数,分别表示采摘某株草药的时间和这株草药的价值。
【输出文件】
输出文件medic.out包括一行,这一行只包含一个整数,表示在规定的时间内,可以采到的草药的最大总价值。
【样例输入】
70 3
71 100
69 1
1 2
【样例输出】
3
【数据规模】
对于30%的数据,M <= 10;
对于全部的数据,M <= 100。
循环
(circle.pas/c/cpp)
【问题描述】
乐乐是一个聪明而又勤奋好学的孩子。
他总喜欢探求事物的规律。
一天,他突然对数的正整数次幂产生了兴趣。
众所周知,2的正整数次幂最后一位数总是不断的在重复2,4,8,6,2,4,8,6……我们说2的正整数次幂最后一位的循环长度是4(实际上4的倍数都可以说是循环长度,但我们只考虑最小的循环长度)。
类似的,其余的数字的正整
个整数n的正整数次幂来说,它的后k位是否会发生循环?如果循环的话,循环长度是多少呢?
注意:
1.如果n的某个正整数次幂的位数不足k,那么不足的高位看做是0。
2.如果循环长度是L,那么说明对于任意的正整数a,n的a次幂和a + L 次幂的最后k位都相同。
【输入文件】
输入文件circle.in只有一行,包含两个整数n(1 <= n < 10100)和k(1 <= k <= 100),n和k之间用一个空格隔开,表示要求n的正整数次幂的最后k位的循环长度。
【输出文件】
输出文件circle.out包括一行,这一行只包含一个整数,表示循环长度。
如果循环不存在,输出-1。
【样例输入】
32 2
【样例输出】
4
【数据规模】
对于30%的数据,k <= 4;
对于全部的数据,k <= 100。