这一次比赛有翻车了
第二十二届全国青少年信息学奥林匹克联赛初赛
普及组参考答案
一、单项选择题(共 20 题,每题 1.5 分,共计 30 分)
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
|
|
|
|
|
|
|
|
|
|
D | C | D | C | D | C | B | B | C | A |
|
|
|
|
|
|
|
|
|
|
11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
|
|
|
|
|
|
|
|
|
|
D | B | D | A | D | B | A | A | C | C |
|
|
|
|
|
|
|
|
|
|
二、问题求解(共 2 题,每题 5 分,共计 10 分;第一题全部答对得 5 分,没有部分分;第二题第一空 2
分,第二空 3 分)
1. 72
2. 1 (2 分)
11 (3 分)
三、阅读程序写结果(共 4 题,每题 8 分,共计 32 分)
1. 6,1,3
2. 13
3. 6,5,4,3,2,1,
4. =
四、完善程序(共计 28 分,以下各程序填空可能还有一些等价的写法,由各省赛区组织本省专家审定及上机验证,可以不上报 CCF NOI 科学委员会复核)
|
| Pascal 语言 |
|
| C++语言 | C 语言 | 分值 |
|
|
|
|
|
|
|
|
1. | (1) | read(c) |
|
| cin.get() | c=getchar() | 2.5 |
|
|
|
|
|
|
|
|
| (2) | num:=ord(c)-ord('0') |
|
| num=c-'0' 或 num=c-48 | 3 | |
| 或 num:=ord(c)-48 |
|
| ||||
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
| (3) | (c>='0') and (c<='9') |
|
| c>='0'&&c<='9' 或 c>=48&&c<=57 | 3 | |
| 或 (c>=48) and (c<=57) |
|
| ||||
|
|
|
|
|
|
| |
|
|
|
|
|
| ||
| (4) | num:=num*10+ord(c)-ord('0') |
| num=num*10+c-'0' | 3 | ||
| 或 num:=num*10+ord(c)-48 |
|
| 或 num=num*10+c-48 | |||
|
|
|
|
| |||
|
|
|
|
|
|
| |
| (5) | num:=-num 或 exit(-num) |
|
| num=-num 或 return -num | 2.5 | |
|
|
|
|
|
|
|
|
2. | (1) |
|
| n-nn+1 |
| 3 | |
|
|
|
|
| |||
| (2) | M[i]<C[j] 或 M[i]<=C[j] |
| 3 | |||
|
|
|
|
|
|
| |
| (3) |
|
| count<=A |
| 3 | |
|
|
|
|
|
| ||
| (4) |
| check(mid) |
| 2.5 | ||
|
|
|
|
|
|
| |
| (5) |
|
| mid-1 |
| 2.5 | |
|
|
|
|
|
|
|
|