第二十二届全国青少年信息学奥林匹克联赛初赛
提高组C++语言试题(2小时)
选手注意:
•不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料。
一、单项选择题(共15 题,每题分,共计分;每题有且仅有一个正确选项). a,b,c D. b,a,c
二、不定项选择题(共5 题,每题分,共计分;每题有一个或多个正确选项,多选或 少选均不得分)
以下属于无线通信技术的有()
A. 蓝牙 B. WiFi C. GPRS D. 以太网
可以将单个计算机接入到计算机网络中的网络接入通讯设备有()。
A. 网卡 B. 光驱 C. 鼠标 D. 显卡
下列算法中运用分治思想的有()。
A. 快速排序 B. 归并排序 C. 冒泡排序 D. 计数排序
下图表示一个果园灌溉系统,有A、B、C、D四个阀门,每个阀门可以打开或关
上,所有管道粗细相同,以下设置阀门的方法中,可以让果树浇上水的有()。
有水有水
A. B打开,其他都关上
C. A打开,其他都关上 D.
都打开,
5•参加NOI比赛,以下能带入考场的有
.
果树
其他都关
三、问题求解(共2题,每题5分,共计10分;每题全部答对得5分,没有部分分)
—个1x8的方格图形(不可旋转)用黑、白两种颜色填涂每个方格。如果每个方
格只能填涂一种颜色,且不允许两个黑格相邻,共有 种填涂方案。
某中学在安排期末考试时发现,有7个学生要参加7门课程的考试,下表列出了
哪些学生参加哪些考试(用V表示要参加相应的考试)。最少要安排 个不同
的考试时间段才能避免冲突?
考试
学生1
学生2
学生3
学生4
学生5
学生6
学生7
通用技术
V
V
V
usingnamespacestd;
intmain(){
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;i<6;i++)
cout<<a[i]<<",";
cout<<endl;
return0;
}
输 出 :
2. #include<iostream> usingnamespacestd;
intmain(){
chara[100][100],b[100][100]; stringc[100];
stringtmp; intn,i=0,j=0,k=0,total_len[100],length[100][3]; 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;
return0;
}
输入: 3AB:ACDEbFBkBD
输 出 :
AR:ACDBrT
SARS:SevereAtypicalRespiratorySyndrome
(注:输入各行前后均无空格)
#include<iostream>
usingnamespacestd;
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-
NOIP提高组初赛C 来自淘豆网m.daumloan.com转载请标明出处.