NOIP2017提高组Pascal试题
第十六届全国青少年信息学奥林匹克联赛初赛试题及答案

第十六届全国青少年信息学奥林匹克联赛初赛试题及答案(提高组)(总12页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--第十六届全国青少年信息学奥林匹克联赛初赛试题(提高组Pascal 语言二小时完成)●●全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效●●一.单项选择题(共 10 题,每题 1.5 分,共计 15 分。
每题有且仅有一个正确选项)1.与十六进制数A1. 2等值的十进制数是()。
A.101.2 B. 111.4 C. 161.125 D. 177.252.一个字节(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.如果在某个进制下等式7*7=41成立,那么在该进制下等式12*12=( )也成立。
A. 100B. 144C. 164D. 1966.提出“存储程序”的计算机工作原理的是()。
A. 克劳德·香农B. 戈登·摩尔C. 查尔斯·巴比奇D. 冯·诺伊曼7.前缀表达式“+3 * 2 +5 12”的值是()。
A. 23B. 25C. 37D. 658.主存储器的存取速度比中央处理器(CPU)的工作速度慢得多,从而使得后者的效率受到影响。
而根据局部性原理,CPU所访问的存储单元通常都趋于聚集在一个较小的连续区域中。
于是,为了提高系统整体的执行效率,在CPU中引入了()。
A. 寄存器B. 高速缓存C. 闪存D. 外存9.完全二叉树的顺序存储方案,是指将完全二叉树的结点从上至下、从左至右,依次存放到一个顺序结构的数组中。
NOIP2017普及组初赛试题及详细解析

输入: 7 3 输出: ________ 答案:8
递归调用的时候要能够比较清晰的把下面的式子写出来 g(8,4,0)=g(8,3,0)+g(7,3,1)+g(6,3,2)=10+4+1=15 g(8,3,0)=g(8,2,0)+g(7,2,1)+g(6,2,2)=5+3+2=10 g(8,2,0)=g(8,1,0)+g(7,1,1)+g(6,1,2)+g(5,1,3)+g(4,1,4)=5 g(7,2,1)=g(6,1,1)+g(5,1,2)+g(4,1,3)=3 g(6,2,2)=g(4,1,2)+g(3,1,3)=2 g(7,3,1)=g(6,2,1)+g(5,2,2)=3+1=4 g(6,2,1)=g(5,1,1)+g(4,1,2)+g(3,1,3)=3 g(5,2,2)=g(3,1,2)=1 g(6,3,2)=g(4,2,2)=g(2,1,2)=1
最后的 8 不用比较,直接放到 C 中,C[] = {1, 2, 3, 4} 共比较了 3 次,即 2n - 1 次
18. 从()年开始,NOIP 竞赛将不再支持 Pascal 语言。 A. 2020 B. 2021 C. 2022 D. 2023
答案:C 从 2022 年开始,NOIP 将不可使用 C 和 Pascal,只能使用 C++
D.s->next=hs;hs=hs->next; 答案:B
新元素入栈后,要把栈顶指针指到新元素的位置
14. 若串 S = “copyright”,其子串的个数是( )。 A. 72 B. 45 C. 46 D. 36 答案:C
NOIP提高组初赛历年试题及答案完善题篇

for (i = m; i>= 1; i--){
used[data[i]] = false;
for (j =data[i]+1; j <= n; j++) if (!used[j]){
used[j] =true;
data[i] = j;
flag = true;
break;
}
if (flag)
{
for (k = i+1;k <= m; k++)
solve(left, j –1, deep + 1);
if(j<right)
solve(j+ 1, right, deep + 1);
}
int main()
{
inti;
cin>>n;
for(i=1;i<=n;i++)
cin>>a[i];
maxDeep=0;
solve(1,n,1);
cout<<maxDeep<<' '<<num<<endl;
}
void push()
for (j = 1; j<=n; j++) if (!used[j]){
data[k] = j;
used[j] =true;
break;
}
break;
}
}
}
}
NOIP2012-2.新壳栈 小 Z 设计了一种新的数据结构“新壳栈”。首先,它和传统的栈一样支持压入、弹 出操作。此外,其栈顶的前 c 个元素是它的壳,支持翻转操作。其中,c> 2 是 一个固定的正整数,表示壳的厚度。小 Z 还希望,每次操作,无论是压入、弹 出还是翻转,都仅用与 c 无关的常数时间完成。聪明的你能帮助她编程实现“新 壳栈”吗? 程序期望的实现效果如以下两表所示。其中,输入的第一行是正整数 c,之后每 行输入都是一条指令。另外,如遇弹出操作时栈为空,或翻转操作时栈中元素不 足 c 个,应当输出相应的错误信息。
Noip提高组

每个顶点用1个加号’+’表示,长用3个”-“表示,宽用1个”/”表示,高用两个”|”表示。
字符’+’ ‘-‘’/’ ‘|’的ASCII码分别为43,45,47,124。
字符’.’(ASCII码46)需要作为背景输出,即立体图里的空白部分需要用’.’代替。
立体图的画法如下面的规则:若两块积木左右相邻,图示为:
..+---+---+
./ / /|
+---+---+ |
| | | +
| | |/.
+---+---+..
若两块积木上下相邻,图示为:
..+---+
./ /|
+---+ |
| | +
| |/|
+---+ |
| | +
| |/.
+---+..
若两块积木前后相邻,图示为:
….+---+
…/ /|
..+---+ |
./ /| +
+---+ |/.
| | +..
| |/…
+---+….
立体图中,定义位于第(m,1)的格子(即第m行第1列的格子)上面自底向上的第一块积木(即最下面的一块积木)的左下角顶点为整张图最左下角的点。
【输入】
输入文件drawing.in第一行有用空格隔开的两个整数m和n,表示有m*n个格子
(1<=m,n<=50)。
接下来的m行,是一个m*n的矩阵,每行有n个用空格隔开的整数,其中第i行第j 列上的整数表示第i行第j列的格子上摞有多少个积木(1<=每个格子上的积木数<=100)。
【输出】
输出文件drawing.out中包含题目要求的立体图,是一个K行L列的字符矩阵,其中
K和L表示最少需要K行L列才能按规定输出立体图。
NOIP2017普及组初赛C++试题及答案

for(i= 0;i<s.length();i++)if([s[]]== 1){ cout << s[i]<< endl; return 0;
cout << "no" << endl; return 0;
六
输入∶xyzxyw
输出∶_
。。;
。 。 。。 。。人;人
三、阅读程序写结果(共 4题,每题 8分,共计 32 分)
1.#include using namespace std;
一int main(){ int t[256]; string s; int i;
cin >> s;
for (i=0;i<256;i++)t[i]=0;
A. POP3 B.SMTP C.WTO D.IMAP
4.分辨率为 800x600、16 位色的位图,存储图像信息所需的空间为()。
A.937.5KB B.4218.75KB C.4320KB D.2880KB
5.计算机应用的最早领域是()。
A.数值计算 B.人工智能 C.机器人 D.过程控制
6.下列不属于面向对象程序设计语言的是()。
e2)]
countcm 或 m>Count
O)]
lbound<ubound1 或I ubound>lbound
而
25
2.5
[m
(lboundubound+1)div 2或
(lbound+ubound+1》/2 或
(④) (1boundrubound+1)shr 1或
(lboundvubound+1)>1 或
示每条绳子的长度,第三行是一个不超过10°的正整数 m。 输出∶绳段的最大长度,若无法切割,输出 Failed。
NOIP2017扬中普及组1试题

011001100010100011 001010100101110001 【样例输入 2】 00:00:01
【样例输出 2】
000000000000000001 000000000000000001
第2页共5页
jsoi2017 扬中
普及组 1
素数间距
(gap.pas/c/cpp)
1-3
4-5
6-7
8-10
第5页共5页
分别竖着和横着取出字符,于是得到 011001100010100011 和 00101010010111001 两个字符 串。 【输入格式】 一行,一个 24 小时表示的时间。符合 XX:XX:XX 的形式,分别表示时、分、秒 【输出格式】
一行,两个字符串,分别表示竖着和横着取出的字符串(具体参见样例)。两个字符串 用一个空格隔开。 【样例输入 1】 10:37:49
4
【样例输入 2】 15 【样例输出 2】
4
【数据范围】 20% N<=100 40% N<=1000 100% N<=1,000,000
第3页共5页
jsoi2017 扬中
普及组 1
回文分割
(palin.pas/c/cpp)
【问题描述】 大家都知道回文串吧~ 简单地说就是左右对称的一个串,比如 abcba,werrew。小 s 对回文 串的研究已经够深刻了,现在她转而研究其他方面的回文,比如,数的回文拆分。对于自然 数的拆分,就是把一个自然数 N 用若干个整数之和表示。比如 5=1+2+3+4+5=1+2+1+7+1+2+1。 那么怎样的拆分才算是回文的呢?我们用从归纳的角度来定义数的回文拆分。首先一个数 A=A 是一个回文拆分。其次,一个自然数 N=A+A 或是 N=A+x+A,其中 A 是一个回文拆分,x 是任意一个自然数,这两种也是回文拆分。举个例子,7 的所有回文拆分有:7, 1+5+1,2+3+2,1+1+3+1+1,3+1+3,1+1+1+1+1+1+1。现在小 s 想知道,一个正整数 N 的回文拆 分到底有多少种。由于这个数字可能很大,小 s 只需要你告诉她答案除以 1,000,000,007 的 余数的值。 【输入格式】 一行,一个正整数 N 【输出格式】 一行,一个整数 M,为 N 的回文拆分数%(mod) 1,000,000,007 的值 【样例输入 1】 4 【样例输出 1】 4 【样例输入 2】 20 【样例输出 2】 60 【数据范围】 30% 1<=N<=20 100% 1<=N<=1000
noip2017提高组复赛解题报告

noip2017提高组复赛解题报告定期推送帐号信息学新闻,竞赛自主招生,信息学专业知识,信息学疑难解答,融科教育信息学竞赛培训等诸多优质内容的微信平台,欢迎分享文章给你的朋友或者朋友圈!以下解题思路及代码未经官方评测,仅供参考,复赛成绩以官方(CCF)评测结果为准。
Day11.小凯的疑惑(math.cpp/c/pas)【问题描述】小凯手中有两种面值的金币,两种面值均为正整数且彼此互素。
每种金币小凯都有无数个。
在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的。
现在小凯想知道在无法准确支付的物品中,最贵的价值是多少金币?注意:输入数据保证存在小凯无法准确支付的商品。
【输入格式】输入文件名为math.in。
输入数据仅一行,包含两个正整数 a 和b,它们之间用一个空格隔开,表示小凯手中金币的面值。
【输出格式】输出文件名为math.out。
输出文件仅一行,一个正整数N,表示不找零的情况下,小凯用手中的金币不能准确支付的最贵的物品的价值。
【输入输出样例1】math.in3 7 math.out11【数据规模与约定】对于30%的数据: 1 ≤a,b ≤50。
对于60%的数据: 1 ≤a,b ≤10,000。
对于100%的数据:1 ≤a,b ≤1,000,000,000。
数学太差只找规律吧。
设:其中一个数为2则:2、3=>1;2、5=>3;2、7=>5;2、11=>9得:2、n=>n-2设:其中一个数为3则:3、5=>7;3、7=>11;3、11=>19;3、13=>23得:3、n=>2n-3设:其中一个数为5则:5、7=>23;5、11=>39;5、13=>47;5、17=>63得:5、n=>4n-5所以:m、n=>(m-1)n-m #includeusing namespace std;int main(){ long long a,m,n;scanf('%lld %lld',&m,&n); a=(m-1)*n-m; printf('%lld',a); return 0;} 2.时间复杂度(complexity.cpp/c/pas)【问题描述】小明正在学习一种新的编程语言A++,刚学会循环语句的他激动地写了好多程序并给出了他自己算出的时间复杂度,可他的编程老师实在不想一个一个检查小明的程序,于是你的机会来啦!下面请你编写程序来判断小明对他的每个程序给出的时间复杂度是否正确。
NOIP 提高组C++试题 无水印 去水印文字版

CCF NOIP2016初赛提高组C++语言试题第1页,共10页
第二十三届全国青少年信息学奥林匹克联赛初赛 提高组C++语言试题 竞赛时间:2017年10月14日14:30~16:30 选手注意: 试题纸共有10页,答题纸共有2页,满分100分。请在答题纸上作答,写在试题纸上的一律无效。不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料。
一、单项选择题(共15题,每题1.5分,共计22.5分;每题有且仅有一个正确选项)
1.从( )年开始,NOIP竞赛将不再支持Pascal语言。 A.2020B.2021C.2022D.2023
2.在8位二进制补码中,10101011表示的数是十进制下的()。A.43B.-85C.-43D.-84
3.分辨率为1600x900、16位色的位图,存储图像信息所需的空间为( )。 A.2812.5KBB.4218.75KBC.4320KBD.2880KB
4.2017年10月1日是星期日,1949年10月1日是( )。 A.星期三B.星期日C.星期六D.星期二
5.设G是有n个结点、m条边(n ≤ m)的连通图,必须删去G的( )条边,才能使得G变成一棵树。A.m – n + 1B.m - nC.m + n + 1D.n – m + 1
6.若某算法的计算时间表示为递推关系式:T(N) = 2T(N / 2) + N log NT(1) = 1则该算法的时间复杂度为( )。A.O(N)B.O(N log N)C.O(N log2 N)D.O(N2)
7.表达式a * (b + c) * d的后缀形式是()。A.a b c d * + *B.a b c + * d *C.a * b c + * dD.b + c * a * d
8.由四个不同的点构成的简单无向连通图的个数是( )。 A.32B.35 C. 38D.41CCF NOIP2016初赛提高组C++语言试题 第2页,共10页