第二十三届全国青少年信息学奥林匹克联赛初赛
提高组参考答案
一、单项选择题(共15 题,每题1.5 分,共计22.5 分) 1 2 3 4 5 6 7 8 C B A C A C B C 9 1 D B D D A D C 二、不定项选择题(共5 题,每题1.5 分,共计7.5 分;每题有一个或多个正确选项,没有部分分) 1 2 3 4 5 CD C D BD BD
三、问题求解(共2题,每题5分,共计10分) 1. 3
2. 4 (2 分)
9 (3 分)
四、阅读程序写结果(共4题,每题8分,共计32 分) 1. 15
2. 17 24 1 8 15 3. 8
4. 输出1:1 3 (2 分) 输出2:2017 1 (3 分) 输出3:1 321 (3 分)
五、完善程序(共计28分,以下各程序填空可能还有一些等价的写法,由各省赛区组织本省专家审定及上机验证,可以不上报CCF NOI科学委员会复核) Pascal语言 C++语言 C 语言 分值 1 (1) p[0] 2 (2) restrest 3 (3) rest div q rest / q 3 (4) rest mod q * 10 + p[i] rest % q * 10 + p[i] 3 (5) rest mod q rest % q 3 2 (1) degree[b]:=degree[b]+1 或 degree[b]=degree[b]+1 或 3 inc(degree[b]) degree[b]++ 或 ++degree[b] (2) degree[i]=0 degree[i]==0 或 !degree[i] 3 (3) degree[i]:=degree[i]-1 或 degree[i]=degree[i]-1 或 3 dec(degree[i]) degree[i]-- 或 --degree[i] (4) head:=head+1 或 inc(head) head=head+1 或 head++ 或 ++head 3 (5) ans
1 / 1