NOIP2018普及组参考答案
2018NOIP普及组初赛试题答案解析

第二十四届全国青少年信息学奥林匹克联赛初赛普及组C++语言试题竞赛时间:2018年10月13日14:30~16:30选手注意:●试题纸共有7页,答题纸共有2页,满分100分。
请在答题纸上作答,写在试题纸上的一律无效。
●不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料。
一、单项选择题(共15题,每题2分,共计30分;每题有且仅有一个正确选项)1.以下哪一种设备属于输出设备:()A.扫描仪B.键盘C.鼠标D.打印机解析:这是一道送分题,会就会,不会就不会。
所以选D。
2.下列四个不同进制的数中,与其它三项数值上不相等的是()。
A.(269)16B.(617)10C.(1151)8D.(1001101011)2解析:这题考核的是进制转换。
(269)16=2*16^2+6*16^1+9*16^0=617,(1151)8=1*8^3+1* 8^2+5*8^1+1*8^0=617,而(1001101011)2=619。
所以选D。
3.1MB等于()。
A.1000字节B.1024字节C.1000X1000字节D.1024X1024字节1KB=1024B1MB=1024KB解析:这题考核的是字节之间的转换。
1MB=1024KB=1024*1024B。
所以选D。
4.广域网的英文缩写是()。
NB.WANC.MAND.LNA解析:这题是送命题,,会就会,不会就不会。
WAN全称为Wide Area Network。
所以选B。
5.中国计算机学会于()年创办全国青少年计算机程序设计竞赛。
A.1983B.1984C.1985D.1986解析:这题是送命题,会就会,不会就不会。
NOI是全国青少年信息学奥林匹克竞赛(National Olympiad in Informatics)的简称。
NOI是国内包括港澳在内的省级代表队最高水平的大赛,自1984年至今,在国内包括香港、澳门组织竞赛活动。
所以选B。
6.如果开始时计算机处于小写输入状态,现在有一只小老鼠反复按照CapsLock、字母键A、字母键S、字母键D、字母键F的顺序循环按键,即CapsLock、A、S、D、F、CapsLock、A、S、D、F、……,屏幕上输出的第81个字符是字母()。
学科竞赛-2018第24届全国青少年信息学奥林匹克联赛初赛+答案

2018第24届全国青少年信息学奥林匹克联赛初赛+答案第24届全国青少年信息学奥林匹克联赛初赛普及组C++语言试题竞赛时间:2018 年10 月13 日14:30~16:30选手注意:1、试题纸共有7 页,答题纸共有2 页,满分100 分。
请在答题纸上作答,写在试题纸上的一律无效。
2、不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料。
一、单项选择题(共15题,每题2分,共计30分;每题有且仅有一个正确选项)1. 以下哪一种设备属于输出设备:( )A.扫描仪B.键盘C.鼠标D.打印机2. 下列四个不同进制的数中,与其它三项数值上不相等的是( )。
A. (269)16 (注解:2 * 16^2 + 6 * 16^1 + 9 * 16 ^0 = 617)C. (1151)8 (注解:1 * 8^3 + 1 * 8^2 + 5 * 8^1 + 1 * 8^0 = 617)D. (1001101011)23. 1MB等于( )。
A. 1000 字节B. 1024 字节C. 1000 X 1000字节D. 1024 X 1024字节4. 广域网的英文缩写是( )。
A. LANB. WAN (Wide Area Network)C. MAND.LNA5. 中国计算机学会于( )年创办全国青少年计算机程序设计竞赛。
A. 1983B. 1984C. 19856. 如果开始时计算机处于小写输入状态,现在有一只小老鼠反复按照CapsLock、字母键A、字母键S、字母键D、字母键F 的顺序循环按键,即CapsLock、A、S、D、F、CapsLock、A、S、D、F、......,屏幕上输出的第81 个字符是字母( )。
A. AB. SC. DD. a7. 根节点深度为0,一棵深度为h 的满k(k>1)叉树,即除最后一层无任何子节点外,每一层上的所有结点都有k个子结点的树,共有( )个结点。
A. (k h+1-1)/(k-1)B. k h-1C. k hD. (k h-1) / (k - 1)8. 以下排序算法中,不需要进行关键字比较操作的算法是( )。
NOIP2018第二十四届全国青少年信息学奥林区克联赛初赛普及组试题及参考答案(手打版)

NOIP2018第二十四届全国青少年信息学奥林区克联赛初赛普及组试题及参考答案(手打版)第二十四届全国青少年信息学奥林区克联赛初赛普及组一、单项选择题1、以下哪一种设备属于输出设备:()A 扫描仪B 键盘C 鼠标D 打印机2、下列四个不同进制的数中,与其他三项数值上不相等的是()A (269)_{16}(269)16B (617)_{10}(617)10C (1151)_{8}(1151)8D (1001101011)_{2}(1001101011)23、11MB等于()A 10001000字节B 10241024字节C 1000*10001000∗1000字节D 1024*10241024∗1024字节4、广域网的英文缩写是()A LANB WANC MAND LNA5、中国计算机协会于()年创办全国青少年计算机程序设计竞赛。
A 1983B 1984C 1985D 19866、如果开始时计算机处于小写输入状态,现在有一只小老鼠反复按照CapsLock、字母键A、字母键S、字母键D、字母键F的顺序循环按键,即CapsLock、A、S、D、F、CapsLock、A、S、D、F、……、屏幕上输出的第81个字母是字母()。
A. AB. SC.DD.a7、根节点深度为0,一棵深度为h的满K叉树,即除最后一层无任何子节点外,每一层上所有节点都有k个子节点的树,共有()个节点。
A (k^{h+1}-1)/(k-1)(k h+1−1)/(k−1)B k^{h-1}k h−1C k^h k hD (k^{h-1})/(k-1)(k h−1)/(k−1)8、以下排序算法中,不需要进行关键字比较操作的算法是()。
A 基数排序B 冒泡排序C 堆排序D 直接插入排序9、给定一个含N个不相同数字的数组,在最坏情况下,找出期中最大或最小的树,至少需要N-1此操作。
则最坏情况下,在该数组中同时找最大与最小的数至少需要()次操作。
NOIP2018普及组初赛题详细解析

NOIP2018初赛普及组C++题目+解析二十四届全国青少年信息学奥林匹克联赛初赛——普及组一、单项选择题(共15 题,每题2 分,共计30 分;每题有且仅有一个正确选项)1. 以下哪一种设备属于输出设备:()A. 扫描仪B. 键盘C. 鼠标D. 打印机答案:D解析:扫描仪是输出设备显而易见2. 下列四个不同进制的数中,与其它三项数值上不相等的是()。
A. (269)16B. (617)10C. (1151)8D. (1001101011)2答案: D解析:都转成二进制,然后前3个都是1001101001,跟D不同3. 1MB 等于()。
A. 1000 字节B. 1024 字节C. 1000 X 1000 字节D. 1024 X 1024 字节答案:D解析:1 M B = 1024 K B = 1024 ∗ 1024 B1MB=1024KB=1024*1024B1MB=1024KB=1024∗1024B4. 广域网的英文缩写是()。
A. LANB. WANC. MAND. LNA答案:B A是局域网C是城域网5. 中国计算机学会于()年创办全国青少年计算机程序设计竞赛。
A. 1983B. 1984C. 1985D. 1986答案:B6. 如果开始时计算机处于小写输入状态,现在有一只小老鼠反复按照CapsLock、字母键A、字母键S、字母键D、字母键F 的顺序循环按键,即CapsLock、A、S、D、F、CapsLock、A、S、D、F、……,屏幕上输出的第81 个字符是字母()。
A. AB. SC. DD. a答案:A解析:取模7. 根节点深度为0,一棵深度为h 的满k(k>1)叉树,即除最后一层无任何子节点外,每一层上的所有结点都有k 个子结点的树,共有()个结点。
A. (k h+1 - 1) / (k - 1)B. k h-1C. k hD. (k h-1) / (k - 1)答案:A解析:1)假设h=2,k=2,画出完美二叉树,共7个节点。
学科竞赛-2018NOIP普及组初赛试题_1

2018NOIP普及组初赛试题第二十四届全国青少年信息学奥林匹克联赛初赛普及组C++语言试题竞赛时间:2018 年10 月13 日14:30~16:30选手注意:试题纸共有7 页,答题纸共有2 页,满分100 分。
请在答题纸上作答,写在试题纸上的一律无效。
不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料。
一、单项选择题(共15 题,每题2 分,共计30 分;每题有且仅有一个正确选项)1、以下哪一种设备属于输出设备:()A. 扫描仪B. 键盘C. 鼠标D. 打印机2、下列四个不同进制的数中,与其它三项数值上不相等的是()。
A.(269)16B.(617)10C.(1151)8D.(1001101011)23、1MB 等于()。
A.1000 字节B.B. 1024 字节C.1000 X 1000 字节D.D. 1024 X 1024 字节4、广域网的英文缩写是()。
A. LANB. WANC. MAND. LNA5、中国计算机学会于()年创办全国青少年计算机程序设计竞赛。
A. 1983C. 1985D. 19866、如果开始时计算机处于小写输入状态,现在有一只小老鼠反复按照CapsLock、字母键A、字母键S、字母键D、字母键F 的顺序循环按键,即CapsLock、A、S、D、F、CapsLock、A、S、D、F、……,屏幕上输出的第81 个字符是字母A. AB. SC. DD. a7、根节点深度为0,一棵深度为h 的满k(k>1)叉树,即除最后一层无任何子节点外,每一层上的所有结点都有k 个子结点的树,共有()个结点。
A.(k h+1 - 1) / (k - 1)B.k h-1C.k hD.(k h-1) / (k - 1)8、以下排序算法中,不需要进行关键字比较操作的算法是()。
A. 基数排序B. 冒泡排序C. 堆排序D. 直接插入排序9、给定一个含N 个不相同数字的数组,在最坏情况下,找出其中最大或最小的数,至少需要N - 1 次比较操作。
noip2018普及组初赛试题c++

2. 从 1 到 2018 这 2018 个数中,共有__________个包含数字 8 的数。包含数字 8 的数是
指有某一位是“8”的数, 例如“2018”与“188”。
A.
三 、阅读程序写结果(共 4 题,每题 8 分,共计 32 分)
A. 基数排序
B. 冒泡排序
C. 堆排序
D. 直接插入排序
给定一个含 N 个不相同数字的数组,在最坏情况下,找出其中最大或最小的数,至
少需要 N - 1 次比较操作。则最坏情况下,在该数组中同时找最大与最小的数至少需
要( )次比较操作。(⌈ ⌉表示向上取整,⌊ ⌋表示向下取整)
A. ⌈3N / 2⌉ - 2
{
ret++;
___________;
}
return ret;
}
则空格内要填入的语句是( )。
A. x >>= 1
B. x &= x - 1
C. x |= x >> 1
D. x <<= 1
15. 下图中所使用的数据结构是(
)。
B
弹出 B 压 A
入 C
A
C
A
压入 A
压入 B
A
哈希表 B. 栈 C. 队列
1. #include <cstdio>
char
st[100];
int
main()
{
scanf("%s", st);
for
(int i = 0; st[i]; ++i)
『NOIP2018普及组题解』

『NOIP2018普及组题解』<更新提⽰><第⼀次更新><正⽂>标题统计题⽬描述凯凯刚写了⼀篇美妙的作⽂,请问这篇作⽂的标题中有多少个字符?注意:标题中可能包含⼤、⼩写英⽂字母、数字字符、空格和换⾏符。
统计标题字符数时,空格和换⾏符不计算在内。
输⼊格式输⼊⽂件只有⼀⾏,⼀个字符串 s。
输出格式输出⽂件只有⼀⾏,包含⼀个整数,即作⽂标题的字符数(不含空格和换⾏符)。
样例数据input1234output13input2Ca 45output24样例说明样例 1 :标题中共有 3 个字符,这 3 个字符都是数字字符。
样例 2 :标题中共有 5 个字符,包括 1 个⼤写英⽂字母, 1 个⼩写英⽂字母和 2 个数字字符,还有 1 个空格。
由于空格不计⼊结果中,故标题的有效字符数为 4 个。
数据规模与约定规定∣s∣表⽰字符串 s 的长度(即字符串中的字符和空格数)。
对于 %40 的数据,1 ≤ |s| ≤ 5,保证输⼊为数字字符及⾏末换⾏符。
对于 %80 的数据,1 ≤ |s| ≤ 5,输⼊只可能包含⼤、⼩写英⽂字母、数字字符及⾏末换⾏符。
对于 %100 的数据,1 ≤ |s| ≤ 5,输⼊可能包含⼤、⼩写英⽂字母、数字字符、空格和⾏末换⾏符。
时间限制:1s空间限制:256MB解析T1和往年⼀样,还是签到题。
不过这⼀次好像更注重考察语⾔了,不少不熟悉语⾔的⼩伙伴可能就没有分了啦。
⼤概是考察如何处理输⼊吧,会⽤getline()的基本都⽤了getline()了吧,当然,不会⽤的还有其他的办法,主要是while(cin>>str)和scanf()读到换⾏符为⽌。
这样的话,只要暴⼒统计⼀下就可以了啦。
Code:#include<bits/stdc++.h>using namespace std;string s;int ans=0;int main(void){freopen("title.in","r",stdin);freopen("title.out","w",stdout);getline(cin,s);for(int i=0;i<s.size();i++){if(s[i]!=' ')ans++;}printf("%d\n",ans);return 0;}#include<bits/stdc++.h>using namespace std;char s;int ans=0;int main(){freopen("title.in","r",stdin);freopen("title.out","w",stdout);while (cin>>s){if(s>='0'&&s<='9'||s>='a'&&s<='z'||s>='A'&&s<='Z')ans++;}cout<<ans<<endl;return 0;}龙虎⽃题⽬描述轩轩和凯凯正在玩⼀款叫《龙虎⽃》的游戏,游戏的棋盘是⼀条线段,线段上有 n个兵营(⾃左⾄右编号 1 ∼n),相邻编号的兵营之间相隔1 厘⽶,即棋盘为长度为 n-1 厘⽶的线段。
NOIP2018普及组复赛题解

NOIP2018普及组复赛题解本次也是天天快乐编程集训队2021CSP&NOIP赛前训练-赛前适应赛的题⽬,OI赛制有步骤分,请⼤家放⼼书写代码。
2018年⼀等奖浙江分数线为230分,⼆等奖分数线为100分,三等奖分数线为80分。
当年附中情况,zxy是163分对应luogu题⽬,、、、,可以到luogu上查看更多题解。
字符串需要读取⼀⾏,即gets或者getline。
判断数字和字母⼤⼩写就是满分了第⼀题⽐较送分,⼀般情况下第⼀题最简单,是签到题。
但是如果第⼀题⽐较难,应该先做后⾯的,⽐赛时间有限。
正式⽐赛需要注意这个题⽬概况,这个题需要我们在相应的⽂件夹内将⽂件名命名为title.cpp,并在代码中添加上⽂件读写。
#include<bits/stdc++.h>using namespace std;int main(){freopen("title.in","r",stdin);freopen("title.out","w",stdout);//你的代码return 0;}枚举、预处理枚举,p1位置加s1个⼯兵,然后依次枚举把s2个⼯兵放在所有的兵营⾥,每次算⼀遍双⽅势⼒之差,取最⼩就可以了直接枚举,可以得到80分#include <bits/stdc++.h>using namespace std;int n,m, p1, s1, s2;int a[1000005];//计算双⽅势⼒之差int cal(int x){//sum1计算左边,sum2计算右边int sum1 = 0, sum2 = 0;//先假设位置x加上s2个⼯兵a[x] += s2;for (int i = 1; i <= n; i++){//m号兵营跳过if (i == m)continue;//分左右else if (i < m)sum1 += (m - i) * a[i];elsesum2 += (i - m) * a[i];}//再减去s2个,因为是假设加上了s2个⼯兵a[x] -= s2;if (sum1 >= sum2)return sum1 - sum2;return sum2 - sum1;}int main(){scanf("%d", &n);for (int i = 1; i <= n; i++)scanf("%d", &a[i]);scanf("%d%d%d%d", &m, &p1, &s1, &s2);//加上s1个⼯兵a[p1] += s1;int min = 1e9,ans;//枚举编号ifor (int i = 1; i <= n; i++){//算⼀下势⼒之差int tmp = cal(i);//⼩的话要更新if (min > tmp){min = tmp;ans = i;}}printf("%d", ans);return 0;}之前的代码是超时的,因为做法是O(n^2 )的,但是后20%数据是10^5 ,写起来要难写些。