NOIP第二十二届全国青少年信息学奥林匹克联赛提高组初赛pascalWord文件下载.docx

上传人:b****3 文档编号:16569166 上传时间:2022-11-24 格式:DOCX 页数:18 大小:371.14KB
下载 相关 举报
NOIP第二十二届全国青少年信息学奥林匹克联赛提高组初赛pascalWord文件下载.docx_第1页
第1页 / 共18页
NOIP第二十二届全国青少年信息学奥林匹克联赛提高组初赛pascalWord文件下载.docx_第2页
第2页 / 共18页
NOIP第二十二届全国青少年信息学奥林匹克联赛提高组初赛pascalWord文件下载.docx_第3页
第3页 / 共18页
NOIP第二十二届全国青少年信息学奥林匹克联赛提高组初赛pascalWord文件下载.docx_第4页
第4页 / 共18页
NOIP第二十二届全国青少年信息学奥林匹克联赛提高组初赛pascalWord文件下载.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

NOIP第二十二届全国青少年信息学奥林匹克联赛提高组初赛pascalWord文件下载.docx

《NOIP第二十二届全国青少年信息学奥林匹克联赛提高组初赛pascalWord文件下载.docx》由会员分享,可在线阅读,更多相关《NOIP第二十二届全国青少年信息学奥林匹克联赛提高组初赛pascalWord文件下载.docx(18页珍藏版)》请在冰豆网上搜索。

NOIP第二十二届全国青少年信息学奥林匹克联赛提高组初赛pascalWord文件下载.docx

dec(k);

end;

writeln(k,'

'

n);

end.

程序运行后的输出结果是()。

A.2,2B.2,3C.3,2D.3,3

11.有7个一模一样的苹果,放到3个一样的盘子中,一共有()种放法。

A.7B.8C.21D.37

12.Lucia和她的朋友以及朋友的朋友都在某社交网站上注册了账号。

下图是他们之间的关系图,两个人之间有边相连代表这两个人是朋友,没有边相连代表不是朋友。

这个社交网站的规则是:

如果某人A向他(她)的朋友B分享了某张照片,那么B就可以对该照片进行评论;

如果B评论了该照片,那么他(她)的所有朋友都可以看见这个评论以及被评论的照片,但是不能对该照片进行评论(除非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.假设某算法的计算时间表示为递推关系式

则算法的时间复杂度为()。

A.O(𝑛

)B.O(

)C.O(

log𝑛

)D.O(𝑛

2)

15.给定含有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分;

每题有一个或多个正确选项,多选或少选均不得分)

1.以下属于无线通信技术的有()。

A.蓝牙B.WiFiC.GPRSD.以太网

2.可以将单个计算机接入到计算机网络中的网络接入通讯设备有()。

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

3.下列算法中运用分治思想的有()。

A.快速排序B.归并排序C.冒泡排序D.计数排序

4.下图表示一个果园灌溉系统,有A、B、C、D四个阀门,每个阀门可以打开或关上,所有管道粗细相同,以下设置阀门的方法中,可以让果树浇上水的有()。

A.B打开,其他都关上

C.A打开,其他都关上

B.AB都打开,CD都关上

D.D打开,其他都关上

5.参加NOI比赛,以下能带入考场的有()。

A.钢笔B.适量的衣服C.U盘D.铅笔

三、问题求解(共2题,每题5分,共计10分;

每题全部答对得5分,没有部分分)

1.一个1×

8的方格图形(不可旋转)用黑、白两种颜色填涂每个方格。

如果每个方格只能填涂一种颜色,且不允许两个黑格相邻,共有_________种填涂方案。

2.某中学在安排期末考试时发现,有7个学生要参加7门课程的考试,下表列出了哪些学生参加哪些考试(用√表示要参加相应的考试)。

最少要安排_________个不同的考试时间段才能避免冲突?

考试

学生1

学生2

学生3

学生4

学生5

学生6

学生7

通用技术

物理

化学

生物

历史

地理

政治

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

1.var

a:

array[1..6]oflongint=(1,2,3,4,5,6);

pi,pj,t,i:

pi:

=1;

pj:

=6;

whilepi<

pjdo

t:

=a[pi];

a[pi]:

=a[pj];

a[pj]:

=t;

inc(pi);

dec(pj);

fori:

=1to6do

write(a[i],'

);

writeln;

输出:

_________

2.var

n,i,j,k:

total_len:

array[1..100]oflongint;

len:

array[1..100,1..3]oflongint;

a,b:

array[1..100,1..100]ofchar;

c:

array[1..100]ofstring[100];

i:

j:

k:

readln(n);

=1tondo

readln(c[i]);

total_len[i]:

=length(c[i]);

j:

while(c[i,j]<

'

:

'

)do

a[i,k]:

=c[i,j];

=k+1;

inc(j);

len[i,1]:

=k-1;

=chr(0);

forj:

=j+1tototal_len[i]do

b[i,k]:

len[i,2]:

=k-1;

b[i,k]:

=chr(0);

if(len[i,1]>

=len[i,2])then

write('

NO,'

else

=1tolen[i,2]do

ifa[i,k]=b[i,j]then

ifk>

len[i,1]then

break;

ifj=len[i,2]then

YES,'

输入:

3

AB:

ACDEbFBkBD

AR:

ACDBrT

SARS:

SevereAtypicalRespiratorySyndrome

(注:

输入各行前后均无空格)

3.functionlps(seq:

string;

i,j:

longint):

len1,len2:

ifi=jthen

exit

(1);

ifi>

jthen

exit(0);

if(seq[i]=seq[j])then

exit(lps(seq,i+1,j-1)+2);

len1:

=lps(seq,i,j-1);

len2:

=lps(seq,i+1,j);

iflen1>

len2then

exit(len1)

exit(len2);

n:

seq:

seq:

='

acmerandacm'

;

n:

=length(seq);

writeln(lps(seq,1,n));

4.var

map:

array[1..100,1..100]oflongint;

sum,weight,visit:

n,i,x,y,ans,ansn:

proceduredfs(node:

longint);

v,maxw:

visit[node]:

sum[node]:

maxw:

forv:

if(map[node][v]=0)or(visit[v]<

0)then

dfs(v);

inc(sum[node],sum[v]);

ifsum[v]>

maxwthen

=sum[v];

ifn-sum[node]>

=n-sum[node];

weight[node]:

=maxw;

fillchar(map,sizeof(map),0);

fillchar(sum,sizeof(sum),0);

fillchar(weight,sizeof(weight),0);

fillchar(visit,sizeof(visit),0);

=1ton-1do

read(x,y);

map[x,y]:

=1;

map[y,x]:

dfs

(1);

ans:

=n;

ansn:

ifweight[i]<

ansthen

=weight[i];

ansn:

=i;

writeln(ansn,'

ans);

11

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分)

const

maxn=200000;

infinity=2147483647;

answer,height,previous,next:

array[0..maxn]oflongint;

rank:

n,higher,shorter,i:

proceduresort(l,r:

x,i,j,temp:

x:

=height[rank[(l+r)div2]];

i:

=l;

=r;

whilei<

=jdo

whileheight[rank[i]]<

xdoinc(i);

whileheight[rank[j]]>

xdodec(j);

if

(1)then

begin

temp:

=rank[i];

rank[i]:

=rank[j];

rank[j]:

=temp;

inc(i);

dec(j);

ifi<

rthensort(i,r);

ifl<

jthensort(l,j);

read(height[i]);

rank[i]:

sort(1,n);

previous[rank[i]]:

=rank[i-1];

(2);

=ndownto2do

higher:

=infinity;

shorter:

ifprevious[i]<

shorter:

=height[i]-height[previous[i]];

ifnext[i]<

(3);

If(4)then

answer[i]:

=previous[i]

answer[i]:

=next[i];

next[previous[i]]:

(5);

=2tondo

writeln(i,'

answer[i]);

2.(交通中断)有一个小国家,国家内有n座城市和m条双向的道路,每条道路连接着两座不同的城市。

其中1号城市为国家的首都。

由于地震频繁可能导致某一个城市与外界交通全部中断。

这个国家的首脑想知道,如果只有第i(i>

1)个城市因地震而导致交通中断时,首都到多少个城市的最短路径长度会发生改变。

如果因为无法通过第i个城市而导致从首都出发无法到达某个城市,也认为到达该城市的最短路径长度改变。

对于每一个城市i,假定只有第i个城市与外界交通中断,输出有多少个城市会因此导致到首都的最短路径长度改变。

我们采用邻接表的方式存储图的信息,其中head[x]表示顶点x的第一条边的编号,next[i]表示第i条边的下一条边的编号,point[i]表示第i条边的终点,weight[i]表示第i条边的长度。

maxn=6000;

maxm=100000;

inf=2147483647;

next,point,weight:

array[1..maxm]oflongint;

head,dist,visit:

array[1..maxn]oflongint;

queue:

array[0..maxn-1]oflongint;

n,m,i,j,s,t,total,x,y,z,answer:

procedurelink(x,y,z:

inc(total);

next[total]:

=head[x];

head[x]:

=total;

point[total]:

=y;

weight[total]:

=z;

=head[y];

head[y]:

=x;

total:

readln(n,m);

=1tomdo

readln(x,y,z);

link(x,y,z);

=1tondodist[i]:

=inf;

(1);

queue[1]:

visit[1]:

s:

t:

//使用SPFA求出第一个点到其余各点的最短路长度

whiles<

=tdo

=queue[smodmaxn];

whilej<

0do

if

(2)then

dist[point[j]]:

=dist[x]+weight[j];

if(visit[point[j]]=0)then

inc(t);

queue[tmodmaxn]:

=point[j];

visit[point[j]]:

=next[j];

(3);

inc(s);

=tdo//判断最短路长度是否不变

=queue[s];

if(point[j]<

i)and((4))

and(visit[point[j]]=0)then

(5);

inc(t);

queue[t]:

answer:

inc(answer,1-visit[j]);

answer-1);

提高组参考答案

一、单项选择题(共15题,每题1.5分,共计22.5分)

1

2

4

5

6

7

8

D

A

B

9

10

12

13

14

15

C

每题有一个或多个正确选项,没有部分分)

ABC

AB

ABD

1.55

2.3

1.6,5,4,3,2,1,

2.YES,NO,YES,

3.5

4.25

五、完善程序(共计28分,以下各程序填空可能还有一些等价的写法,由各省赛区组织本省专家审定及上机验证,可以不上报CCFNOI科学委员会复核)

Pascal语言

C++语言

C语言

分值

i<

=j

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

当前位置:首页 > PPT模板 > 其它模板

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

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