NOIP2009提高组C++初赛试题与答案.doc

上传人:b****3 文档编号:1775585 上传时间:2022-10-24 格式:DOC 页数:13 大小:90.50KB
下载 相关 举报
NOIP2009提高组C++初赛试题与答案.doc_第1页
第1页 / 共13页
NOIP2009提高组C++初赛试题与答案.doc_第2页
第2页 / 共13页
NOIP2009提高组C++初赛试题与答案.doc_第3页
第3页 / 共13页
NOIP2009提高组C++初赛试题与答案.doc_第4页
第4页 / 共13页
NOIP2009提高组C++初赛试题与答案.doc_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

NOIP2009提高组C++初赛试题与答案.doc

《NOIP2009提高组C++初赛试题与答案.doc》由会员分享,可在线阅读,更多相关《NOIP2009提高组C++初赛试题与答案.doc(13页珍藏版)》请在冰豆网上搜索。

NOIP2009提高组C++初赛试题与答案.doc

2009第十五届全国青少年信息学奥林匹克联赛初赛试题

(提高组C++语言二小时完成)

全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效

一.单项选择题(共10题,每题1.5分,共计15分。

每题有且仅有一个正确答案。

1、关于图灵机下面的说法哪个是正确的:

A)图灵机是世界上最早的电子计算机。

B)由于大量使用磁带操作,图灵机运行速度很慢。

C)图灵机只是一个理论上的计算模型。

D)图灵机是英国人图灵发明的,在二战中为破译德军的密码发挥了重要作用。

2、关于BIOS下面的说法哪个是正确的:

A)BIOS是计算机基本输入输出系统软件的简称。

B)BIOS里包含了键盘、鼠标、声卡、图形界面显器等常用输入输出设备的驱动程序。

C)BIOS一般由操作系统厂商来开发完成。

D)BIOS能提供各种文件拷贝、复制、删除以及目录维护等文件管理功能。

3、已知大写字母A的ASCII编码为65(十进制),则大写字母J的十六进制ASCII编码为:

A)48B)49C)50D)以上都不是

4、在字长为16位的系统环境下,一个16位带符号整数的二进制补码为1111111111101101。

其对应的十进制整数应该是:

A)19B)-19C)18D)-18

5、一个包含n个分支结点(非叶结点)的非空满k叉树,k>=1,它的叶结点数目为:

A)nk+1B)nk-1C)(k+1)n-1D.(k-1)n+1

6.表达式a*(b+c)-d的后缀表达式是:

A)abcd*+-B)abc+*d-C)abc*+d-D)-+*abcd

7、最优前缀编码,也称Huffman编码。

这种编码组合的特点是对于较频繁使用的元素给与较短的唯一编码,以提高通讯的效率。

下面编码组合哪一组不是合法的前缀编码。

A)(00,01,10,11)

B)(0,1,00,11)

C)(0,10,110,111)

D)(1,01,000,001)

8、快速排序平均情况和最坏情况下的算法时间复杂度分别为:

A)平均情况O(nlog2n),最坏情况O(n2)

B)平均情况O(n),最坏情况O(n2)

C)平均情况O(n),最坏情况O(nlog2n)

D)平均情况O(log2n),最坏情况O(n2)

9、右图给出了一个加权无向图,从顶点V0开始用prim算法求最小生成树。

则依次加入最小生成树的顶点集合的顶点序列为:

A)V0,V1,V2,V3,V5,V4

B)V0,V1,V5,V4,V3,V3

C)V1,V2,V3,V0,V5,V4

D)V1,V2,V3,V0,V4,V5

10、全国信息学奥林匹克的官方网站为参与信息学竞赛的老师同学们提供相关的信息和资源,请问全国信息学奥林匹克官方网站的网址是:

A) B)http:

//www.noi.org/

C) D)

二.不定项选择题(共10题,每题1.5分,共计15分。

每题正确答案的个数不少于1。

多选或少选均不得分)。

1、关于CPU下面哪些说法是正确的:

A)CPU全称为中央处理器(或中央处理单元)。

B)CPU能直接运行机器语言。

C)CPU最早是由Intel公司发明的。

D)同样主频下,32位的CPU比16位的CPU运行速度快一倍。

2、关于计算机内存下面的说法哪些是正确的:

A)随机存储器(RAM)的意思是当程序运行时,每次具体分配给程序的内存位置是随机而不确定的。

B)一般的个人计算机在同一时刻只能存/取一个特定的内存单元。

C)计算机内存严格说来包括主存(memory)、高速缓存(cache)和寄存器(register)三个部分。

D)1MB内存通常是指1024*1024字节大小的内存。

3、关于操作系统下面说法哪些是正确的:

A.多任务操作系统专用于多核心或多个CPU架构的计算机系统的管理。

B.在操作系统的管理下,一个完整的程序在运行过程中可以被部分存放在内存中。

C.分时系统让多个用户可以共享一台主机的运算能力,为保证每个用户都得到及时的响应通常会采用时间片轮转调度的策略。

D.为了方便上层应用程序的开发,操作系统都是免费开源的。

4、关于计算机网络,下面的说法哪些是正确的:

A)网络协议之所以有很多层主要是由于新技术需要兼容过去老的实现方案。

B)新一代互联网使用的IPv6标准是IPv5标准的升级与补充。

C)TCP/IP是互联网的基础协议簇,包含有TCP和IP等网络与传输层的通讯协议。

D)互联网上每一台入网主机通常都需要使用一个唯一的IP地址,否则就必须注册一个固定的域名来标明其地址。

5、关于HTML下面哪些说法是正确的:

A)HTML全称超文本标记语言,实现了文本、图形、声音乃至视频信息的统一编码。

B)HTML不单包含有网页内容信息的描述,同时也包含对网页格式信息的定义。

C)网页上的超链接只能指向外部的网络资源,本网站网页间的联系通过设置标签来实现。

D)点击网页上的超链接从本质上就是按照该链接所隐含的统一资源定位符(URL)请求网络资源或网络服务。

6、若3个顶点的无权图G的邻接矩阵用数组存储为{{0,1,1},{1,0,1},{0,1,0}},假定在具体存储中顶点依次为:

v1,v2,v3。

关于该图,下面的说法哪些是正确的:

A) 该图是有向图。

B) 该图是强连通的。

C) 该图所有顶点的入度之和减所有顶点的出度之和等于1。

D) 从v1开始的深度优先遍历所经过的顶点序列与广度优先的顶点序列是相同的。

7、在带尾指针(链表指针clist指向尾结点)的非空循环单链表中每个结点都以next字段的指针指向下一个节点。

假定其中已经有2个以上的结点。

下面哪些说法是正确的:

A) 如果p指向一个待插入的新结点,在头部插入一个元素的语句序列为:

p->next=clist->next;clist->next=p;

B) 如果p指向一个待插入的新结点,在尾部插入一个元素的语句序列为:

p->next=clist;clist->next=p;

C) 在头部删除一个结点的语句序列为:

p=clist->next;clist->next=clist->next->next;deletep;

D) 在尾部删除一个结点的语句序列为。

p=clist;clist=clist->next;deletep;

8、散列表的地址区间为0-10,散列函数为H(K)=Kmod11。

采用开地址法的线性探查法处理冲突,并将关键字序列26,25,72,38,8,18,59存储到散列表中,这些元素存入散列表的顺序并不确定。

假定之前散列表为空,则元素59存放在散列表中的可能地址有:

A)5B)7C)9D)10

9、排序算法是稳定的意思是关键码相同的记录排序前后相对位置不发生改变,下列哪些排序算法是稳定的:

A)插入排序B)基数排序C)归并排序D)冒泡排序

10、在参加NOI系列竞赛过程中,下面哪些行为是被严格禁止的:

A)携带书写工具,手表和不具有通讯功能的电子词典进入赛场。

B)在联机测试中通过手工计算出可能的答案并在程序里直接输出答案来获取分数。

C)通过互联网搜索取得解题思路。

D)在提交的程序中启动多个进程以提高程序的执行效率。

三.问题求解(共2题,每空5分,共计10分)

1.拓扑排序是指将有向无环图G中的所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若∈E(G),则u在线性序列中出现在v之前,这样的线性序列成为拓扑序列。

如下的有向无环图,对其顶点做拓扑排序,则所有可能的拓扑序列的个数为。

3

2

1

5

4

7

6

8

9

2.某个国家的钱币面值有1,7,72,73共计四种,如果要用现金付清10015元的货物,假设买卖双方各种钱币的数量无限且允许找零,那么交易过程中至少需要流通张钱币。

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

1.

#include

usingnamespacestd;

inta,b;

intwork(inta,intb){

if(a%b)

returnwork(b,a%b);

returnb;

}

intmain(){

cin>>a>>b;

cout<

return0;

}

输入:

123321

输出:

_________

2.

#include

usingnamespacestd;

intmain()

{

inta[4],b[4];

inti,j,tmp;

for(i=0;i<4;i++)

cin>>b[i];

for(i=0;i<4;i++)

{

a[i]=0;

for(j=0;j<=i;j++)

{

a[i]+=b[j];

b[a[i]%4]+=a[j];

}

}

tmp=1;

for(i=0;i<4;i++)

{

a[i]%=10;

b[i]%=10;

tmp*=a[i]+b[i];

}

cout<

return0;

}

输入:

2357

输出:

_______________

3.

#include

usingnamespacestd;

constintmaxn=50;

constinty=2009;

intmain()

{

intn,c[maxn][maxn],i,j,s=0;

cin>>n;

c[0][0]=1;

for(i=1;i<=n;i++)

{

c[i][0]=1;

for(j=1;j

c[i][j]=c[i-1][j-1]+c[i-1][j];

c[i][i]=1;

}

for(i=0;i<=n;i++)

s=(s+c[n][i])%y;

cout<

return0;

}

输入:

17

输出:

4.

#include

usingnamespacestd;

intmain()

{

intn,m,i,j,p,k;

inta[100],b[100];

cin>>n>>m;

a[0]=n;

i=0;

p=0;

k=0;

do

{

for(j=0;j

if(a[i]==a[j])

{

p=1;

k=j;

break;

}

if(p)

break;

b[i]=a[i]/m;

a[i+1]=a[i]%m*

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 信息与通信

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1