NOIP2016提高组C++初赛试题


    
    第二十二届全国青少年信息学奥林匹克联赛初赛

    提高组 C++语言试题

    竞赛时间:2016 年 10 月 22 日 1430~1630

    选手注意
    ● 试题纸 13 页答题纸 2 页满分 100 分请答题纸作答写
    试题纸律效

    ● 电子设备(计算器手机电子词典等)查阅书籍资料


    单项选择题( 15 题题 15 分计 225 分题仅正确 选项)
    1 微软公司出品软件( )
    A Powerpoint B Word
    C Excel D Acrobat Reader

    2 果开始时计算机处写输入状态现老鼠反复 CapsLock字母键 A字母键 S 字母键 D 序回键 CapsLockASDSACapsLockASDSACapsLockASDSA……屏幕输出第 81 字符字母( )
    A A B S C D D A

    3 二进制数 00101100 01010101 异结果( )
    A 00101000 B 01111001 C 01000100 D 00111000

    4 二进制数 01 相等八进进制数( )

    A 08 B 04 C 02 D 01
    5 较作基运算 N 数中找数少运算次数( )
    A N B N1 C N2 D log N

    6 表达式 a*(b+c)d 缀表达形式( )
    A abcd*+ B abc+*d C abc*+d D +*abcd

    7 棵二叉树右图示采二叉树链表存储该二叉 树(结点包括结点数左孩子指针右孩子指

    针)果没左孩子者右孩子应空指针
    该链表中空指针数目( )
    A 6 B 7 C 12 D 14

    8 G 非连通简单图 28 条边该图少( )顶点
    A 10 B 9 C8 D7



    CCF NOIP2016 初赛提高组 C++语言试题 第 1 页 13 页

    9 某计算机 CPU 存间址总线宽度 32 位(bit)台计算机 ( )存

    A 2GB B 4GB C 8GB D 16GB

    10 程序:

    #include using namespace std

    int main() {

    int k 4 n 0 while (n < k) {

    n++

    if (n 3 0) continue

    k

    }

    cout << k << << n << endl return 0

    }
    程序运行输出结果( )
    A 22 B 23 C 32 D 33
    11 7 模样苹果放 3 样盘子中( )种放法
    A 7 B 8 C 21 D 37

    12 Lucia 朋友朋友朋友某社交网站注册账号图 间关系图两间边相连代表两朋友没边相连代表

    朋友社交网站规:果某 A ()朋友 B 分享 某张片 B 该片进行评果 B 评该片 ()朋友见评评片该



















    CCF NOIP2016 初赛提高组 C++语言试题 第 2 页 13 页

    片进行评(非 A ()分享该片)现 Lucia 已传
    张片想 Jacob 见张片朋友( )分享该片
    A Dana Michael Eve B Dana Eve Monica
    C Michael Eve Jacob D Micheal Peter Monica

    13 周末明爸爸妈妈三起想动手做三道菜明负责洗菜爸爸负责 切菜妈妈负责炒菜假设做道菜序:先洗菜 10 分钟然切 菜 10 分钟炒菜 10 分钟做道菜需 30 分钟注意:两道 菜相步骤时进行例第道菜第二道菜时洗

    时切做完三道菜短时间需( )分钟

    A 90 B 60 C 50 D 40

    14 假设某算法计算时间表示递推关系式
    T(n) 2T()+
    T(1) 1
    算法时间复杂度( )

    AO(n) B O() C O( logn) D O(n2)

    1 定含 n 数数组 L果 L 中存 x i(1 < i < n) x1 < x2 < < xi1 < xi > xi+1 > > xn 称 L 单峰称 xi L

    峰顶现已知 L 单峰请 ac 三行代码补全算法中算法 正确找 L 峰顶

    a Search(k+1 n)

    b Search(1 k1)

    c return L[k]

    Search(1 n)
    1 k← [n2]

    2 if L[k] > L[k1] and L[k] > L[k+1]

    3 then __________

    4 else if L[k] > L[k1] and L[k] < L[k+1]

    5 then __________

    6 else __________

    正确填空序( )

    A c a b B c b a C a b c D b a c

    二定项选择题( 5 题题 15 分计 75 分题正确 选项选少选均分)



    CCF NOIP2016 初赛提高组 C++语言试题 第 3 页 13 页

    1 属线通信技术( )

    A 蓝牙 B WiFi C GPRS D 太网

    2 单计算机接入计算机网络中网络接入通讯设备( )

    A 网卡 B 光驱 C 鼠标 D 显卡

    3 列算法中运分治思想( )

    A 快速排序 B 排序 C 泡排序 D 计数排序

    4 图表示果园灌溉系统 ABCD 四阀门阀门开 关道粗细相设置阀门方法中果树浇水






    果树









    ( )
    A B 开关 B AB 开CD 关
    C A 开关 D D 开关

    5 参加 NOI 赛带入考场( )
    A 钢笔 B 适量衣服 C U 盘 D 铅笔


    三问题求解( 2 题题 5 分计 10 分题全部答 5 分没部分分)

    1 1×8 方格图形(旋转)黑白两种颜色填涂方格果 方格填涂种颜色允许两黑格相邻_________种填 涂方案

    2 某中学安排期末考试时发现 7 学生参加 7 门课程考试表列 出学生参加考试(√表示参加相应考试) 少安排_________考试时间段避免突?









    CCF NOIP2016 初赛提高组 C++语言试题 第 4 页 13 页

    考试
    学生 1
    学生 2
    学生 3
    学生 4
    学生 5
    学生 6
    学生 7








    通技术







    物理







    化学







    生物







    历史















    政治








    四阅读程序写结果( 4 题题 8 分计 32 分)

    1 #include using namespace std

    int main() {

    int a[6] {1 2 3 4 5 6} int pi 0

    int pj 5 int t i

    while (pi < pj) {
    t a[pi]
    a[pi] a[pj]
    a[pj] t pi++

    pj

    }

    for (i 0 i < 6 i++) cout << a[i] <<

    cout << endl return 0

    }

    输出:_________

    2 #include using namespace std

    int main() {

    char a[100][100] b[100][100] string c[100]

    string tmp

    int n i 0 j 0 k 0 total_len[100] length[100][3]



    CCF NOIP2016 初赛提高组 C++语言试题
    第 5 页 13 页




    cin >> n
    getline(cin tmp)
    for (i 0 i < n i++) {
    getline(cin c[i])
    total_len[i] c[i]size()
    }
    for (i 0 i < n i++) {
    j 0
    while (c[i][j] '') {
    a[i][k] c[i][j]
    k k + 1
    j++
    }
    length[i][1] k 1
    a[i][k] 0
    k 0
    for (j j + 1 j < total_len[i] j++) {
    b[i][k] c[i][j]
    k k + 1
    }
    length[i][2] k 1
    b[i][k] 0
    k 0
    }
    for (i 0 i < n i++) {
    if (length[i][1] > length[i][2])
    cout << NO
    else {
    k 0
    for (j 0 j < length[i][2] j++) {
    if (a[i][k] b[i][j])
    k k + 1
    if (k > length[i][1]) break
    }
    if (j length[i][2])
    cout << NO
    else
    cout << YES
    }

    }
    cout << endl
    return 0



    CCF NOIP2016 初赛提高组 C++语言试题
    第 6 页 13 页


    }

    输入:3 ABACDEbFBkBD ARACDBrT
    SARSSevere Atypical Respiratory Syndrome 输出:_________

    (注:输入行前均空格)


    3 #include
    using namespace std

    int lps(string seq int i int j) {
    int len1 len2
    if (i j) return 1
    if (i > j) return 0
    if (seq[i] seq[j])
    return lps(seq i + 1 j 1) + 2
    len1 lps(seq i j 1)
    len2 lps(seq i + 1 j)
    if (len1 > len2)
    return len1
    return len2
    }

    int main() {
    string seq acmerandacm
    int n seqsize()
    cout << lps(seq 0 n 1) << endl
    return 0
    }

    输出:_________


    4 #include
    #include
    using namespace std

    int map[100][100]
    int sum[100] weight[100]
    int visit[100]



    CCF NOIP2016 初赛提高组 C++语言试题
    第 7 页 13 页


    int n

    void dfs(int node) {
    visit[node] 1
    sum[node] 1
    int v maxw 0
    for (v 1 v < n v++) {
    if (map[node][v] || visit[v])
    continue
    dfs(v)
    sum[node] + sum[v]
    if (sum[v] > maxw)
    maxw sum[v]
    }
    if (n sum[node] > maxw)
    maxw n sum[node]
    weight[node] maxw
    }

    int main() {
    memset(map 0 sizeof(map))
    memset(sum 0 sizeof(sum))
    memset(weight 0 sizeof(weight))
    memset(visit 0 sizeof(visit))
    cin >> n
    int i x y
    for (i 1 i < n i++) {
    cin >> x >> y
    map[x][y] 1
    map[y][x] 1
    }
    dfs(1)
    int ans n ansN 0
    for (i 1 i < n i++)
    if (weight[i] < ans) {
    ans weight[i]
    ansN i
    }
    cout << ansN << << ans << endl
    return 0
    }

    输入:11



    CCF NOIP2016 初赛提高组 C++语言试题
    第 8 页 13 页


    1 2
    1 3
    2 4
    2 5
    2 6
    3 7
    7 8
    7 11
    6 9
    9 10
    输出:_________


    五完善程序( 2 题题 14 分计 28 分)

    1 (交朋友)根社会学研究表明喜欢找身高相做朋友 现 n 名身高两两相学次走入教室调查员想预测 走入教室瞬间想已进入教室做朋友两名学名 学身高差样时名学会更想高做朋友名身高 180 米学进入教室时名身高 179 米学名身高181米学教室里名身高 180 米学会更想身高 181 米学做朋友第走入教室学做预测
    知道身高走进教室次序采离线做法解决样问题排序加链表方式帮助找 前进入教室身高相(第空 2 分余 3 分)

    #include using namespace std #define MAXN 200000
    #define infinity 2147483647

    int answer[MAXN] height[MAXN] previous[MAXN] next[MAXN] int rank[MAXN]
    int n

    void sort(int l int r) {
    int x height[rank[(l + r) 2]] i l j r temp while (i < j)
    {
    while (height[rank[i]] < x) i++ while (height[rank[j]] > x) j

    if ( (1) ) {
    temp rank[i] rank[i] rank[j] rank[j] temp



    CCF NOIP2016 初赛提高组 C++语言试题
    第 9 页 13 页

    i++ j
    }
    }
    if (i < r) sort(i r)
    if (l < j) sort(l j)
    }

    int main()
    {
    cin >> n
    int i higher shorter
    for (i 1 i < n i++) {
    cin >> height[i]
    rank[i] i

    sort(1 n)
    for (i 1 i < n i++) {
    previous[rank[i]] rank[i 1]
    (2)
    }
    for (i n i > 2 i){
    higher shorter infinity
    if (previous[i] 0)
    shorter height[i] height[previous[i]] if (next[i] 0)
    (3)
    if ( (4) )
    answer[i] previous[i]
    else
    answer[i] next[i]
    next[previous[i]] next[i]
    (5)
    }
    for (i 2 i < n i++)
    cout << i << << answer[i]
    return 0
    }

    2 (交通中断)国家国家 n 座城市 m 条双道路条道路连接着两座城市中 1 号城市国家首震频繁导致某城市外界交通全部中断国家首脑想知道果第i(i>1)城市震导致交通中断时首少城市短路径长度会发生改变果法通第 i 城市导致首出发法达某城

    CCF NOIP2016 初赛提高组C++语言试题
    第 10 页 13 页



    市认达该城市短路径长度改变
    城市 i假定第 i 城市外界交通中断输出少 城市会导致首短路径长度改变
    采邻接表方式存储图信息中 head[x]表示顶点 x 第条 边编号next[i]表示第 i 条边条边编号point[i]表示第 i 条边终点weight[i]表示第 i 条边长度(第空 2 分余 3 分)

    #include #include using namespace std #define MAXN 6000 #define MAXM 100000

    #define infinity 2147483647

    int head[MAXN] next[MAXM] point[MAXM] weight[MAXM] int queue[MAXN] dist[MAXN] visit[MAXN]

    int n m x y z total 0 answer

    void link(int xint yint z) {
    total++
    next[total] head[x] head[x] total point[total] y weight[total] z total++
    next[total] head[y] head[y] total point[total] x weight[total] z

    }

    int main() {
    int i j s t cin >> n >> m
    for (i 1 i < m i++) {
    cin >> x >> y >> z link(x y z)
    }
    for (i 1 i < n i++) dist[i] infinity
    (1)
    queue[1] 1
    visit[1] 1
    s 1


    CCF NOIP2016 初赛提高组 C++语言试题 第 11 页 13 页




    t 1

    SPFA 求出第点余点短路长度

    while (s < t) {

    x queue[s MAXN]

    j head[x]

    while (j 0) {

    if ( (2) ) {

    dist[point[j]] dist[x] + weight[j]

    if (visit[point[j]] 0) {

    t++

    queue[t MAXN] point[j]

    visit[point[j]] 1

    }

    }

    j next[j]

    }
    (3)

    s++

    }

    for (i 2 i < n i++) {

    queue[1] 1

    memset(visit 0 sizeof(visit))

    visit[1] 1

    s 1

    t 1

    while (s < t) { 判断短路长度否变

    x queue[s]

    j head[x]

    while (j 0) {

    if (point[j] i && (4)
    &&visit[point[j]] 0) {

    (5)

    t++

    queue[t] point[j]

    }

    j next[j]

    }

    s++

    }

    answer 0

    for (j 1 j < n j++) answer + 1 visit[j]

    cout << i << << answer 1 << endl



    CCF NOIP2016 初赛提高组 C++语言试题
    第 12 页 13 页

    }
    return 0

    }


































































    CCF NOIP2016 初赛提高组 C++语言试题 第 13 页 13 页
    文档香网(httpswwwxiangdangnet)户传

    《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
    该内容是文档的文本内容,更好的格式请下载文档

    下载文档到电脑,查找使用更方便

    文档的实际排版效果,会与网站的显示效果略有不同!!

    需要 2 香币 [ 分享文档获得香币 ]

    下载文档

    相关文档

    NOIP2008提高组初赛(C语言)试题及答案

    第十四届(NOIP2008)信息学奥赛联赛提高组C语言初赛试题● ●  全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效  ●●一、 单项选择题 (共10题,每题1.5分,共计15分。每题...

    3年前   
    598    0

    Noip2014初赛提高组C试题及答案(完整版)

    Noip2014初赛提高组试题及答案(完整版)提高组C语言试题一、单项选择题(每题1.5分,共22.5分)。1. 以下哪个是面向对象的高级语言( ). A. 汇编语言 B. C++ ...

    3年前   
    569    0

    NOIP2014(第二十届)初赛普及组C语言试题及答案

    第二十届全国青少年信息学奥林匹克联赛初赛普及组C语言试题竞赛时间:2014年10月12日14:30~16:30 选手注意: l 试题纸共有8页,答题纸共有2页,满分100分。请在答题纸上作答,...

    3年前   
    598    0

    NOIP2011-17届NOIP(C语言)普及组初赛试题

    17届NOIP(C语言)普及组初赛试题一、单项选择题(共20题,每题1.5分,共计30分。每题有且仅有一个正确选项。) 1.在二进制下,1101001 + ( ) = 1110110。 A...

    3年前   
    434    0

    普天C++笔试题

    普天C++笔试题  1.实现双向链表删除一个节点P,在节点P后插入一个节点,写出这两个函数。 2.写一个函数,将其中的t都转换成4个空格。 3.Windows程序的入口是哪里?写出Window...

    8年前   
    483    0

    中国梦初赛活动简报

    简 报 “中国梦.**社区中华文明经典阅读大赛”初赛活动   xx社区在2014年8月7日下午两点,组织社区所属党支部和公共单位共50余人在社区举办“中国梦.xx社区中华文明经典阅读大赛”...

    10年前   
    8004    0

    中南大学-c++课设报告面向对象编程(C++)

    中南大学面向对象编程(C++)实验报告学生姓名 学 院 信息科学与工程学院 ...

    2年前   
    505    0

    药学院第十一届实验技能大赛初赛试题

    药学院第十一届实验技能大赛初赛试题(大三) 一、选择题(2分× 15= 30分) 1、下列化合物沸点最高的是(     ) A、正己烷  B、新己烷  C、2-甲基-2-戊烷  D、正...

    10年前   
    9913    0

    第十二届全国青少年信息学奥林匹克联赛初赛试题及答案普及组、C语言

    第十二届全国青少年信息学奥林匹克联赛初赛试题及答案(普及组、C语言)普及组  C语言  二小时完成)一、单项选择题(共20题,每题1.5分,共计30分。每题有且仅有一个正确答案)1.在下面各世...

    3年前   
    727    0

    甘肃农业大学C++考试题

    《面向对象程序设计》课程考试试卷(A)一、 选择题(每题2分,共30分)1.C++对C语言作了很多改进,下列描述中( )使得C语言发生了质变,从面向过程变成了面向对象。A、增加了一些新的运算符...

    4年前   
    849    0

    迎春杯初赛2021纯题版

    三年级组一.填空题Ⅰ(每小题 8 分,共 32 分)1. 算式 6 ´ 5 + 2021 的计算结果是 .2. 右图中一共有 个三角形. 3. 中国人民银行于 2020 年 10 月 30 ...

    2年前   
    609    0

    在导游之星大赛初赛的讲话

    各位领导,同志们: 由市总工会、市旅游局主办的2008“微笑在湛江”湛江导游之星大赛今天已进入初赛。我代表大赛的主办单位向顺利进入初赛的各位选手表示热烈的祝贺!向大力支持本次大赛的各协办单位...

    15年前   
    17859    0

    c++期末复习资料

    c++期末复习资料1、 面向对象相关概念:类:具有相同属性和行为的对象集合,把数据和操作封装在一起对象:数据+操作。面向对象特征:抽象,封装,继承,多态2、输入输出:输入cin>>a>>b;输...

    1年前   
    297    0

    c++程序实习报告

    c++程序实习报告  针对我们这学期学的c++,假期进行了五天的实习。第一天听老师讲实习内容和提示的时候觉得思路挺明确的一个程序,哪有传说中的那么难。下午和同学讨论的时候觉得很有目的,只要按部...

    12年前   
    459    0

    提高英语写作分数的88个词组

    提高英语写作分数的88个词组     1.经济的快速发展 the rapid development of economy   2.人民生活水平的显著提高/ 稳步增长the remark...

    5年前   
    865    0

    组工干部如何提高选贤任能的能力

    组工干部如何提高选贤任能的能力  树立公道正派的形象,不仅要有良好意愿、勇气和决心,更要有过硬的本领。作为组工干部,形象好不好、水平高不高、有没有过硬的本领,其选贤任能的能力是一个重要的检验标...

    12年前   
    817    0

    如何提高组工干部能力素质

    浅论如何提高组工干部能力素质  组织部门作为主管组织和干部工作的职能部门,在加强党的建设方面负有重要职责。作为一名刚进入组工战线上的一名新兵,必须坚持高标准、高质量地完成各项工作任务,通过抓...

    11年前   
    11382    0

    组工干部交流发言:着力提高组工信息工作效能

    组工信息工作是组织工作的有机组成部分,是反映情况、交流经验的直观载体

    3年前   
    1346    0

    11全国初中学生化学竞赛初赛试题(广东赛区)(审定稿)

    2011年全国初中学生化学素质和实验能力竞赛(第二十一届天原杯)初赛试题(广东赛区)说明:1.本卷分两部分,共27小题。满分为120分,考试时间为100分钟。2.可能用到的相对原子质量:H-1...

    3年前   
    453    0

    第23届全国中学生物理竞赛初赛试题及答案

    第二十三届全国中学生物理竞赛初赛试题及答案 一、(20分,每小题10分)  1.如图所示,弹簧S1的上端固定在天花板上,下端连一小球A,球A与球B之间用线相连.球B与球C之间用弹簧S2相连.A...

    12年前   
    527    0

    文档贡献者

    文***享

    贡献于2020-12-09

    下载需要 2 香币 [香币充值 ]
    亲,您也可以通过 分享原创文档 来获得香币奖励!
    下载文档

    该用户的其他文档