NOI第九届全国青少年信息学奥林匹克联赛初赛试题Word格式.docx

上传人:b****4 文档编号:17228149 上传时间:2022-11-29 格式:DOCX 页数:12 大小:21.79KB
下载 相关 举报
NOI第九届全国青少年信息学奥林匹克联赛初赛试题Word格式.docx_第1页
第1页 / 共12页
NOI第九届全国青少年信息学奥林匹克联赛初赛试题Word格式.docx_第2页
第2页 / 共12页
NOI第九届全国青少年信息学奥林匹克联赛初赛试题Word格式.docx_第3页
第3页 / 共12页
NOI第九届全国青少年信息学奥林匹克联赛初赛试题Word格式.docx_第4页
第4页 / 共12页
NOI第九届全国青少年信息学奥林匹克联赛初赛试题Word格式.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

NOI第九届全国青少年信息学奥林匹克联赛初赛试题Word格式.docx

《NOI第九届全国青少年信息学奥林匹克联赛初赛试题Word格式.docx》由会员分享,可在线阅读,更多相关《NOI第九届全国青少年信息学奥林匹克联赛初赛试题Word格式.docx(12页珍藏版)》请在冰豆网上搜索。

NOI第九届全国青少年信息学奥林匹克联赛初赛试题Word格式.docx

  13.CPU访问内存的速度比访问下列哪个(些)存储设备要慢()。

    A)寄存器B)硬盘C)软盘D)高速缓存E)光盘

  14.下列电子邮件地址,哪个(些)是正确的()。

    A)wang@B)cai@jcc.pc.too1.rf.edu.jpC)162.105.111.22

    D)E)

  15.数字图像文件可以用下列哪个(些)软件来编辑()。

    A)画笔(Paintbrush)B)记事簿(Notepad)C)PhotoshopD)WmRARE)MidiSoft

  16.下列哪个(些)软件不是操作系统软件的名字()。

    A)WindowsXPB)DOSC)LinuxD)OS/2E)Arch/Info

  17.下列哪个(些)不是个人计算机的硬件组成部分()。

    A)主板B)虚拟内存C)电源D)硬盘E)总线

  18.运算式(2008)10-(3723)8的结果是()。

    A)(-1715)10B)(5)10C)(5)16D)(101)2E)(3263)8

  19.已知元素(8,25,14,87,5l,90,6,19,20),问这些元素以怎样的顺序进入栈,才能使出栈的顺序满足:

8在5l前面;

90在87后面;

20在14后面;

25在6前面;

19在90后面。

()

    A)20,6,8,51,90,25,14,19,87

    B)51,6,19,20,14,8,87,90,25

    C)19,20,90,7,6,25,5l,14,87

    D)6,25,51,8,20,19,90,87,14

    E)25,6,8,51,87,90,19,14,20

  20.假设我们用d=(a1,a2,...,a5),表示无向图G的5个顶点的度数,下面给出的哪(些)组d值合理的()。

    A){5,4,4,3,1}B){4,2,2,1,1}C){3,3,3,2,2}

    D){5,4,3,2,l}E){2,2,2,2,2)

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

  1.无向图G有16条边,有3个4度顶点、4个3度顶点,其余顶点的度均小于3,则G至少    个顶点。

  2.某年级学生共选修6门课程,期末考试前,必须提前将这6门课程考完,每人每天只在下午至多考一门课程,设6门课程分别为c1,c2,c3,c4,c5,c6,S(ci)为学习ci的学生集合。

已知S(ci)∩S(c6)≠?

,i=l,2,...,5,S(ci)∩S(ci+1)≠?

,i=1,2,3,4,S(c5)∩S(c1)≠?

,问至少安排    天才能考完这6门课程。

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

1.programPrograml;

 vara,b,c,d,sum:

1ongint;

 begin

   read(a,b,c,d);

   a:

=amod23;

b:

=bmod28;

c:

=cmod33;

   sum:

=a*5544+b*14421+c*1288-d;

=sum+21252;

sum:

=summod21252;

   if(sum=0)thensum:

=21252;

   writeln(sum);

 end.

输入:

28310223320输出:

2.programProgram2;

 const

  u:

array[1..4]ofinteger=(0,5,3,1);

  v:

array[1..4]0finteger=(0,7,6,5);

 vara,b,c,d,e,f,x,y,z:

integer;

  read(a,b,c,d,e,f);

  z:

=f+e+d+(c+3)div4;

y:

=5*d+u[cmod4];

  if(b>

y)then

    begin

     z:

=z+(b-y+8)div9;

     x:

=((b-y+8)div9*9-(b-y))*4+11*e+V[cmod4];

     end

    else

=(y-b)*4+11*e+v[cmod4];

    if(a>

x)then

=z+(a-x+35)div36;

  writeln(z);

输入;

479205647输出:

    

3.programProgramg3;

 varm,n:

integer;

Mark:

boo1ean;

 functiontest(m,N:

integer):

  vari,p:

flag:

boolean;

  begin

   m:

=m-1;

i:

=0;

=False;

   forp:

=2*Ndownto(N+1)do

   begin

    i:

=(i+m)modp;

    if(i<

N)then

     begin

      test:

=True;

Break;

   end;

   ifnot(flag)thentest:

=1;

  end;

  read(n);

m:

=1;

  repeat

   if(test(m,n)=1)then

   beginwriteln(m);

break;

end;

=m+1;

  untilMark;

7输出:

4.programProgramg4;

 varm,n,i,j:

   p,w,a,b:

array[0..19]ofinteger;

  read(n);

m:

  fori:

=0ton-1do

  beginread(p[i]);

b[i]:

  fori:

   begin

    if(i>

0)then

    a[m]:

=p[i]-p[i-1]

    else

=p[i];

    m:

=m+1:

    while((m>

1)and(a[rn-1]=0))do

    beginm;

=m-1;

b[m]:

=l;

    if(m>

     w[i]:

=b[m-1]

    else

=b[0];

     a[m-1]:

=a[m-1]-1;

     forj:

=0tom-1dob[j];

=b[j]+1;

     while((m>

1)and(a[m-1]=0))do

     begin

      m:

     end;

    end;

    fori:

    begin

     write(w[i]);

write('

'

);

    end;

    writeln('

);

end.

  输入:

9

  466668999

  输出:

五.完善程序(共2题,第1题每空3分;

第2题每空2分。

共计28分)

  1.翻硬币

  题目描述:

  一摞硬币共有m枚,每一枚都是正面朝上。

取下最上面的一枚硬币,将它翻面后放回原处。

然后取下最上面的2枚硬币,将他们一起翻面后再放回原处。

再取3枚,取4枚……直至m枚。

然后再从这摞硬币最上面的一枚开始,重复刚才的做法。

这样一直做下去,直到这摞硬币中的每一枚又都是正面朝上为止。

例如,m为1时,翻两次即可。

  输入:

仅有的一个数字是这摞硬币的枚数m,0<m<1000。

  输出:

为了使这摞硬币中的每一枚又都是正面朝上所必需翻的次数。

  输入样例:

30

  输出样例:

899

  程序:

      programPrograml;

      varm:

      functionsolve(m:

integer):

       vari,t,d:

         flag:

       begin

        if(m=1)then

          solve:

=

(1)

        elsebegin

           d:

=2*m+1;

t:

=2;

I:

=False;

           repeat

            if(t=1)then

             begin

              solve:

=

(2);

flag:

=True;

             end

            elseif((3))then

                begin

                 so1ve:

=I*m-1;

=True

                end

               else

                t:

=(4)

            I:

=i+1;

           untilflag;

          end

        end;

        read(m);

if(((5))and(m<1000))then

          writeln((6));

       end.

  2.OIM地形

  二维离散世界有一种地形叫OIM(OIMountain)。

这种山的坡度只能上升('

/'

)或下降('

\'

),而且两边的山脚都与地平线等高,山上所有地方都不低于地平线。

例如:

  /\         /\

 / \/\是一座OIM:

而/ \不是。

             \/

这个世界的地理学家们为了方便记录,给OIM所有可能的形状用正整数编好号,而且每个正整数恰好对应一种山形。

他们规定,若两座山的宽度不同,则较宽的编号较大;

若宽度相同,则比较从左边开始第1个坡度不同的地方,坡度上升的编号较大。

以下三座OIM的编号由小到大递增:

  /\    /\    /\ /\

 / \/\  / \/\/\ / \/ \。

显然/\的编号为1。

但是地理学家在整理记录时发觉,查找编号与山形的对应关系不是很方便。

他们希望能快速地从编号得到山的形状。

你自告奋勇答应给他们写一个程序,输入编号,能马上输出山形。

  一个编号(编号大小不超过600,000,000),

  输入编号所对应的山形,l座山所占行数恰为它的高度,即山顶上不能有多余空行。

  15

    /\ /\

   / \/ \

    programProgramg2;

    const

     L:

integer=19;

SZ:

integer=50;

     Up:

char='

/'

DN:

char'

    Var

     i,nth,x,y,h,e,f:

     m:

array[0..1,0..38,0..19]0finteger;

     pic:

array[0..49,0..49]ofchar;

    procedureinit;

     vark,s,a,b,c:

      fora:

=0to1do

       forb:

=0to2*Ldo

        forc:

=0toLdo

         m[a,b,c]:

=0;

m[0,0,0]:

      fork:

=0to2*L-1do

      begin

       fors:

=1toLdo

       begin

        m[0,k+1,s]:

=m[0,k,s+1]+m[1,k,s+1];

        m[1,k+1,s]:

=

(1);

       end;

        m[0,k+1,0]:

=m[0,k,1]+m[1,k,1];

      end:

      proceduredraw(k,s,nth:

integer);

       if(k=0)thenexit;

       if((nth-m[1,k,s])>

=0)then

        begin

         nth:

=nth-m[1,k,s];

         if(y>h)then

(2);

         pic[y,x]:

=UP;

y:

=y+1;

x:

=x+l;

draw((3));

        end

          y:

=y-1;

pic[y,x]:

=DN;

x:

=x+1;

draw(k-1,s-l,nth);

         end;

     init;

     read(nth);

     fore:

=0toSZ-1do

      forf:

=0toSZ-ldo

       pic[e,f]:

='

       x:

       y:

       h:

       i:

    while((nth-m[0,2*i,0])>

=0)do

     nth:

=nth-m[0,2*i,0];

     (4);

    end;

    draw((5));

=hdownto0do

     fore:

=0tox-1do

     write(pic[i,e]);

     writeln('

   end.

 

提高组参考答案

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

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

题号

1

2

3

4

5

6

7

8

10

选择

B

D

A

C

E

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

11

12

13

14

15

16

17

18

19

20

BDE

AD

AB

AC

BCD

BE

  1.答:

11

  2.答:

4

  

(1)程序的运行结果是:

8910

  

(2)程序的运行结果是:

126

  (3)程序的运行结果是:

1872

  (4)程序的运行结果是:

11245ll39

Pascal语言

==========================

  题一

  

(1)2

  

(2)i*m

  (3)t=2*m

  (4)(t*2)modd

  (5)m>

  (6)solve(m)

  题二

  

(1)m[0,k,s-1]+m[1,k,s-1]

  

(2)h:

=y

  (3)k-1,s+1,nth

  (4)i:

=i+1

  (5)2*i,0,nth

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

当前位置:首页 > 工作范文 > 制度规范

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

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