NOIP提高组C++初赛试题Word文档格式.docx
- 文档编号:16230666
- 上传时间:2022-11-21
- 格式:DOCX
- 页数:15
- 大小:23.86KB
NOIP提高组C++初赛试题Word文档格式.docx
《NOIP提高组C++初赛试题Word文档格式.docx》由会员分享,可在线阅读,更多相关《NOIP提高组C++初赛试题Word文档格式.docx(15页珍藏版)》请在冰豆网上搜索。
while(n<
k){
n++;
if(n%3!
=0)continue;
k--;
}
cout<
<
k<
"
"
<
n<
endl;
return0;
程序运行后的输出结果是()。
A.2,2B.2,3C.3,2D.3,3
11.有7个一模一样的苹果,放到3个一样的盘子中,一共有()种放法。
A.7B.8C.21D.37
12.Lucia和她的朋友以及朋友的朋友都在某社交上注册了账号。
下图是他们之间的关系图,两个人之间有边相连代表这两个人是朋友,没有边相连代表
不是朋友。
这个社交的规则是:
如果某人A向他(她)的朋友B分享了某照片,那么B就可以对该照片进行评论;
如果B评论了该照片,那么他(她)的所有朋友都可以看见这个评论以及被评论的照片,但是不能对该照
CCFNOIP2016初赛提高组C++语言试题第2页,共13页
片进行评论(除非A也向他(她)分享了该照片)。
现在Lucia已经上传了
一照片,但是她不想让Jacob看见这照片,那么她可以向以下朋友()分享该照片。
A.Dana,Michael,EveB.Dana,Eve,Monica
C.Michael,Eve,JacobD.Micheal,Peter,Monica
13.周末小明和爸爸妈妈三个人一起想动手做三道菜。
小明负责洗菜、爸爸负责切菜、妈妈负责炒菜。
假设做每道菜的顺序都是:
先洗菜10分钟,然后切菜10分钟,最后炒菜10分钟。
那么做一道菜需要30分钟。
注意:
两道不同的菜的相同步骤不可以同时进行。
例如第一道菜和第二道的菜不能同时洗,
也不能同时切。
那么做完三道菜的最短时间需要()分钟。
A.90B.60C.50D.40
14.假设某算法的计算时间表示为递推关系式
T(n)=2T(
)+
T
(1)=1
则算法的时间复杂度为()。
A.O(n)B.O(
)C.O(
logn)D.O(n2)
1.给定含有n个不同的数的数组L=<
x1,x2,...,xn>
。
如果L中存在xi(1<
i<
n)使得x1<
x2<
...<
xi-1<
xi>
xi+1>
...>
xn,则称L是单峰的,并称xi是L的
“峰顶”。
现在已知L是单峰的,请把a-c三行代码补全到算法中使得算法正确找到L的峰顶。
a.Search(k+1,n)
b.Search(1,k-1)
c.returnL[k]
Search(1,n)
1.k←[n/2]
2.ifL[k]>
L[k-1]andL[k]>
L[k+1]
3.then__________
4.elseifL[k]>
L[k-1]andL[k]<
5.then__________
6.else__________
正确的填空顺序是()。
A.c,a,bB.c,b,aC.a,b,cD.b,a,c
二、不定项选择题(共5题,每题1.5分,共计7.5分;
每题有一个或多个正确选项,多选或少选均不得分)
CCFNOIP2016初赛提高组C++语言试题第3页,共13页
1.以下属于无线通信技术的有()。
A.蓝牙B.WiFiC.GPRSD.以太网
2.可以将单个计算机接入到计算机网络中的网络接入通讯设备有()。
A.网卡B.光驱C.鼠标D.显卡
3.下列算法中运用分治思想的有()。
A.快速排序B.归并排序C.冒泡排序D.计数排序
4.下图表示一个果园灌溉系统,有A、B、C、D四个阀门,每个阀门可以打开或关上,所有管道粗细相同,以下设置阀门的方法中,可以让果树浇上水的
有水
有水
果树
有()。
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门课程的考试,下表列出了哪些学生参加哪些考试(用√表示要参加相应的考试)。
最少要安排_________个不同的考试时间段才能避免冲突?
CCFNOIP2016初赛提高组C++语言试题第4页,共13页
考试
学生1
学生2
学生3
学生4
学生5
学生6
学生7
通用技术
√
物理
化学
生物
历史
地理
政治
四、阅读程序写结果(共4题,每题8分,共计32分)
1.#include<
inta[6]={1,2,3,4,5,6};
intpi=0;
intpj=5;
intt,i;
while(pi<
pj){
t=a[pi];
a[pi]=a[pj];
a[pj]=t;
pi++;
pj--;
for(i=0;
6;
i++)cout<
a[i]<
;
输出:
_________
2.#include<
chara[100][100],b[100][100];
stringc[100];
stringtmp;
intn,i=0,j=0,k=0,total_len[100],length[100][3];
CCFNOIP2016初赛提高组C++语言试题
第5页,共13页
cin>
>
n;
getline(cin,tmp);
i++){
getline(cin,c[i]);
total_len[i]=c[i].size();
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];
length[i][2]=k-1;
b[i][k]=0;
if(length[i][1]>
=length[i][2])
NO,"
else{
for(j=0;
length[i][2];
if(a[i][k]==b[i][j])
if(k>
length[i][1])break;
if(j==length[i][2])
else
YES,"
return0;
第6页,共13页
输入:
3AB:
ACDEbFBkBDAR:
ACDBrT
SARS:
SevereAtypicalRespiratorySyndrome输出:
(注:
输入各行前后均无空格)
3.#include<
intlps(stringseq,inti,intj){
intlen1,len2;
if(i==j)return1;
if(i>
j)return0;
if(seq[i]==seq[j])
returnlps(seq,i+1,j-1)+2;
len1=lps(seq,i,j-1);
len2=lps(seq,i+1,j);
if(len1>
len2)
returnlen1;
returnlen2;
stringseq="
acmerandacm"
intn=seq.size();
lps(seq,0,n-1)<
4.#include<
#include<
cstring>
intmap[100][100];
intsum[100],weight[100];
intvisit[100];
CCFNOIP2016初赛提高组C++语言试题
第7页,共13页
intn;
voiddfs(intnode){
visit[node]=1;
sum[node]=1;
intv,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=n-sum[node];
weight[node]=maxw;
memset(map,0,sizeof(map));
memset(sum,0,sizeof(sum));
memset(weight,0,sizeof(weight));
memset(visit,0,sizeof(visit));
inti,x,y;
for(i=1;
x>
y;
map[x][y]=1;
map[y][x]=1;
dfs
(1);
intans=n,ansN=0;
i++)
if(weight[i]<
ans){
ans=weight[i];
ansN=i;
ansN<
ans<
11
第8页,共13页
12
13
24
25
26
37
78
711
69
910
五、完善程序(共2题,每题14分,共计28分)
1.(交朋友)根据社会学研究表明,人们都喜欢找和自己身高相近的人做朋友。
现在有n名身高两两不相同的同学依次走入教室,调查人员想预测每个人在走入教室的瞬间最想和已经进入教室的哪个人做朋友。
当有两名同学和这名同学的身高差一样时,这名同学会更想和高的那个人做朋友。
比如一名身高为1.80米的同学进入教室时,有一名身高为1.79米的同学和一名身高为1.81米的同学在教室里,那么这名身高为1.80米的同学会更想和身高为1.81米的同学做朋友。
对于第一个走入教室的同学我们不做预测。
由于我们知道所有人的身高和走进教室的次序,所以我们可以采用离线的做法来解决这样的问题,我们用排序加链表的方式帮助每一个人找到在他之前进入教室的并且和他身高最相近的人。
(第一空2分,其余3分)
#defineMAXN200000
#defineinfinity2147483647
intanswer[MAXN],height[MAXN],previous[MAXN],next[MAXN];
intrank[MAXN];
voidsort(intl,intr){
intx=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;
第9页,共13页
i++;
j--;
}
if(i<
r)sort(i,r);
if(l<
j)sort(l,j);
intmain()
inti,higher,shorter;
height[i];
rank[i]=i;
sort(1,n);
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];
answer[i]=next[i];
next[previous[i]]=next[i];
(5);
for(i=2;
"
answer[i];
}
2.(交通中断)有一个小国家,国家有n座城市和m条双向的道路,每条道路连接着两座不同的城市。
其中1号城市为国家的首都。
由于地震频繁可能导致某一个城市与外界交通全部中断。
这个国家的首脑想知道,如果只有第i(i>
1)个城市因地震而导致交通中断时,首都到多少个城市的最短路径长度会发生改变。
如果因为无法通过第i个城市而导致从首都出发无法到达某个城
CCFNOIP2016初赛提高组C++语言试题
第10页,共13页
市,也认为到达该城市的最短路径长度改变。
对于每一个城市i,假定只有第i个城市与外界交通中断,输出有多少个城市会因此导致到首都的最短路径长度改变。
我们采用邻接表的方式存储图的信息,其中head[x]表示顶点x的第一条边的编号,next[i]表示第i条边的下一条边的编号,point[i]表示第i条边的终点,weight[i]表示第i条边的长度。
#defineMAXN6000#defineMAXM100000
inthead[MAXN],next[MAXM],point[MAXM],weight[MAXM];
intqueue[MAXN],dist[MAXN],visit[MAXN];
intn,m,x,y,z,total=0,answer;
voidlink(intx,inty,intz){
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;
inti,j,s,t;
cin>
n>
m;
=m;
y>
z;
link(x,y,z);
i++)dist[i]=infinity;
(1);
queue[1]=1;
visit[1]=1;
s=1;
CCFNOIP2016初赛提高组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++;
=t){//判断最短路长度是否不变
x=queue[s];
if(point[j]!
=i&
&
(4)
visit[point[j]]==0){
queue[t]=point[j];
answer=0;
for(j=1;
j++)answer+=1-visit[j];
answer-1<
第12页,共13页
CCFNOIP2016初赛提高组C++语言试题第13页,共13页
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- NOIP 提高 C+ 初赛 试题