77范文网 - 专业文章范例文档资料分享平台

18届全国青少年信息学奥林匹克联赛初赛(详解)(普及组)(3)

来源:网络收集 时间:2020-06-21 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

三、阅读程序写结果。(共4题,每题8分,共计32分) 1. var

a,b,c,d,e,ans: integer;

begin readln(a,b,c); d:=a+b; e:=b+c; ans:=d+e; writeln(ans);

end.

输入:1 2 5

输出:__10____________

2. var n,i,ans: integer;

begin readln(n); ans:= 0;

for i:= 1 to n do

if (n mod i)= 0 then ans := ans+1; writeln(ans); end.

输入:18

输出:_______6______

mod 函数是取余数函数(两数相除,取其余数)

if (n mod i)= 0 的意思是假如n能整除i(余数为0) 3. var

n,i,j: integer;

a: array[1..100,1..100] of integer;

function solve(x,y:integer): integer;

var u,v: integer; begin if x = n then begin solve:= a[x,y];

exit;

end;

u:= solve(x+1,y); v:= solve(x+1,y+1); if u>v then

solve := a[x,y] + u else

solve := a[x,y] + v; end;

begin

read(n);

for i:= 1 to n do for j:=1 to i do read(a[i,j]);

writeln(solve(1,1)); end.

输入: 5

2 -1 4 2 -1 -2 -1 6 4 0 3 2 -1 5 8

输出:_____14_________ 4. var

n,ans,i,j: integer; S: string;

Function get(i: integer) : char; begin

if i<= n then get:= s[i]

else get:=s[i-n]; end;

begin readln(s); n:= length (s);

ans:= 1;

for i:= 2 to n do

begin for j:=0 to n-1 do

if get(i+j) < get(ans+j) then begin ans:=i; break; end

else if get(i+j)> get(ans+j) then break; end;

for j:=0 to n-1 do

write(get(ans+j)); writeln; end.

答案:

四、 输入:CBBADADA

1: 输出:_ ACBBADAD___________

1. 0

2. y[j]1)and (f[i]>f[i-1]) 1.(坐标统计)输入n个整点在平面上的坐标。对于每个点,可以控制所有位于5.ans:=max_f 它左下方的点(即x、y坐标都比它小),它可以控制的点的数目称为“战斗力”。2: (如果若干个点的战依次输出每个点的战斗力,最后输出战斗力最高的点的编号1 false 斗力并列最高,输出其中最大的编号)。

2 used[data[i]]:=flase

3.j Const 4.n SIZE= 100; 5.break Var

X,y,f:array[1..SIZE] of integer; N,i,j,max_f,ans: integer;

Begin readln(n); For i:=1 to n do Readln (x[i],y[i]]); Max_f :=0;

For i:=1 to n do Begin f[i]:= ① ; For j:= 1 to n do

Begin if(x[j]< x[i]) and ( ② ) then ③ ; End;

If ④ then

Begin max_f:= f[i]; ⑤ ; End; End;

For i:= 1 to n do Writeln(f[i]); Writeln(ans);

End.

2. (排列数)输入两个正整数n,m(1

3 1 3 2

const

SIZE:=25; var

used: array[1.. SIZE] of boolean; data: array[1.. SIZE] or integer; n,m,i,j,k : integer; flag: boolean;

begin readln(n,m);

fillchar (used,sizeof(used), false); for i:=1 to m do begin data[i]:=i; used[i]:= true; end;

flag:= true;

While flag do

begin for i:= 1 to m-1 do write(data[i],’ ‘); writeln(data[m]); flag:= ① ;

for i:=m downto 1 do begin ② ;

for j:= data[i]+1 to n do if used[j]= false then begin used[j]:= true; data[i]:= ③ ; flag:= true; Break;

end;

if flag then

begin for k:=i+1 to m do

for j:=1 to ④ do if used[j]= false then begin data[k]:= j; used[j]:= true; Break; end; ⑤ ;

end; end; end; end.

================================== 参考答案: 一、

1-10:ABABC CBCAB 11-20:BDBCC DCACB 二、1. 5 2. 2880 三、 10 6 14

ACBBADAD 四、 1. 0

2. y[j]

3.f[i]:=f[i]+1;

4.(i>1)and (f[i]>f[i-1]) 5.ans:=max_f

2.1 false

2 used[data[i]]:=flase 3.j 4.n 5.break

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库18届全国青少年信息学奥林匹克联赛初赛(详解)(普及组)(3)在线全文阅读。

18届全国青少年信息学奥林匹克联赛初赛(详解)(普及组)(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/jiaoyu/1116025.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: