noip复赛模拟练习25Word文件下载.docx

上传人:b****5 文档编号:19421856 上传时间:2023-01-06 格式:DOCX 页数:13 大小:29.86KB
下载 相关 举报
noip复赛模拟练习25Word文件下载.docx_第1页
第1页 / 共13页
noip复赛模拟练习25Word文件下载.docx_第2页
第2页 / 共13页
noip复赛模拟练习25Word文件下载.docx_第3页
第3页 / 共13页
noip复赛模拟练习25Word文件下载.docx_第4页
第4页 / 共13页
noip复赛模拟练习25Word文件下载.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

noip复赛模拟练习25Word文件下载.docx

《noip复赛模拟练习25Word文件下载.docx》由会员分享,可在线阅读,更多相关《noip复赛模拟练习25Word文件下载.docx(13页珍藏版)》请在冰豆网上搜索。

noip复赛模拟练习25Word文件下载.docx

输入130输出156输入20100输出866

输入112500输出9439输入9001000输出4403

若某不含数字0的三位正整数,其平方数至少有三位同样的数字,则称该三位数为三重数。

例如,由于:

5112=261121(有三位1),所以511为三重数。

输入N,求前N个三重数,并输出这些三重数之和。

如输入5则输出119131149165168HE=732

var

i,j,k,a,b,c,x,n,count,s,GS:

aa:

array[1..5]ofinteger;

begin

writeln;

READ(GS);

s:

count:

=111to316do

begin

a:

=idiv100;

b:

=(idiv10)mod10;

c:

=imod10;

if((a<

>

0)and(b<

0)and(c<

0))then

x:

=i*i;

aa[1]:

=xdiv10000;

aa[2]:

=(xdiv1000)mod10;

aa[3]:

=(xdiv100)mod10;

aa[4]:

=(xdiv10)mod10;

aa[5]:

=xmod10;

=1to3do

n:

fork:

=j+1to5do

ifaa[j]=aa[k]thenn:

=n+1;

ifn>

2thenbeginwriteln(i:

8,x:

8);

=s+i;

=count+1;

break;

ifcount=GSthenbreak;

writeln(s:

end.

输入7输出119131149165168173212HE=1117

输入10输出119131149165168173212216235258HE=1826

输入12输出119131149165168173212216235258264298HE=2388

输入13输出119131149165168173212216235258264298313HE=2701

对容量为C的背包进行装载,从N个物品中选取装入背包的物品,每件物品I(1≤I≤N)的重量为WI,价值为PI,在满足背包中所有物品的总重量不能超过背包的容量的前提下,使所装入的物品价值取得最大值。

输入文件(文件名BAG。

IN)

第一行一个整数,表示C(1≤C≤10000),为背包容量;

第二行一个整数,表示N(1≤N≤100),为物品数量;

第三行N个整数(每个整数值取值范围为[1,100]),相邻两整数以一个空格间隔,为N个物品各自的重量;

第四行N个整数(每个整数值取值范围为[1,100]),相邻两整数以一个空格间隔,为N个物品各自的价值;

输出文件(文件名BAG。

OUT)

只一行,一个整数,表示能取得的最大价值。

样例:

输入10

4

5143

40102530

输出80

varc,tmp:

n:

integer;

w,p:

array[1..100]ofinteger;

f:

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

i,j:

begin{assign(input,'

bag.in'

reset(input);

}

readln(c);

readln(n);

=1tondoread(w[i]);

=1tondoread(p[i]);

close(input);

=0tocdof[0,j]:

=1tondo

=0tocdobegin

f[i,j]:

=f[i-1,j];

ifj>

w[i]thenbegin

tmp:

=f[i-1,j-w[i]]+p[i];

iftmp>

f[i,j]thenf[i,j]:

=tmp;

end;

writeln(f[n,c]);

输入20

5

43126

3040352040

输出165

输入120

6

402839175531

79126108输出35

输入78

8

18129201115814

2010143028171022输出121

输入990

40

1011762031659088124153788295681127756709310811466997412187

12391837260801001207181946911810311196

15202512223291019517727141884616261121311323332940394173743473546323242输出210

在n个一连串的方格内填写字母A或B,但相邻两格内不能都填B。

求所有可能的填写方案数。

例如,当n=3,可能的方案有AAA、AAB、ABA、BAA、BAB等5种。

输入N输出方案数。

样例输入15输出1597

n,m,s,i,j,count:

flag:

boolean;

array[1..100]ofinteger;

writeln('

inputn:

'

readln(n);

=1tondos:

=s*2;

=0tos-1do

m:

a[j]:

=mmod2;

=mdiv2;

=true;

=1ton-1do

if(a[j]=1)and(a[j+1]=1)then

beginflag:

=false;

ifflag=truethencount:

writeln(count);

输入8输出55

输入20输出17711

输入18输出6765

输入12输出377

求元素之和最大的子方阵:

在m×

n(m,n≤20)的正整数数字方阵中,找出一个p×

q的子阵(1≤p≤m,1≤q≤n)使其元素之和最大。

例如,下面5×

4的数字阵中,元素之和最大的一个2×

3子阵。

4数字阵元素之和最大的2×

3子阵为

 

样例:

输入54(5行4列)

38422

11179

52162

10389

27123

23(2行3列)输出

5216

1038

vara:

array[1..20,1..20]ofinteger;

m,n,p,q,i,j,max,p1,q1,s,i1,j1:

fori:

=1to20do

forj:

a[i,j]:

readln(m,n);

=1tomdo

=1tondoread(a[i,j]);

readln

readln(p,q);

max:

=1tom-p+1do

=1ton-q+1do

s:

fori1:

=itop+i-1do

forj1:

=jtoq+j-1do

=s+a[i1,j1];

ifs>

maxthenbegin

=s;

p1:

q1:

=j

=p1top1+p-1do

=q1toq1+q-1do

write(a[i,j]:

3);

writeln

readln

输入64

1292018

8193076

17213344

3456

41451327

10221535

33输出92018

193076

213344

输入66

1192028158

771210143538

7324044518

195580242528

29657234304

3963201114

22输出5580

6572

输入46

327866445523

121816141513

424846343335

910871118

33输出786644

181614

484634

输入107

19308944126677

29202824325670

9101814222667

59403423156874

55548578889190

6444739655182

16547573859267

8121577686997

18523874586691

98424845373631

45输出8578889190

4739655182

7573859267

1577686997

小晨的电脑上安装了一个机器翻译软件,他经常用这个软件来翻译英语文章。

这个翻译软件的原理很简单,它只是从头到尾,依次将每个英文单词用对应的中文含义来替换。

对于每个英文单词,软件会先在内存中查找这个单词的中文含义,如果内存中有,软件就会用它进行翻译;

如果内存中没有,软件就会在外存中的词典内查找,查出单词的中文含义然后翻译,并将这个单词和译义放入内存,以备后续的查找和翻译。

假设内存中有M个单元,每单元能存放一个单词和译义。

每当软件将一个新单词存入内存前,如果当前内存中已存入的单词数不超过M−1,软件会将新单词存入一个未使用的内存单元;

若内存中已存入M个单词,软件会清空最早进入内存的那个单词,腾出单元来,存放新单词。

假设一篇英语文章的长度为N个单词。

给定这篇待译文章,翻译软件需要去外存查找多少次词典?

假设在翻译开始前,内存中没有任何单词。

【输入】

输入文件名为translate.in,输入文件共2行。

每行中两个数之间用一个空格隔开。

第一行为两个正整数M和N,代表内存容量和文章的长度。

第二行为N个非负整数,按照文章的顺序,每个数(大小不超过1000)代表一个英文

单词。

文章中两个单词是同一个单词,当且仅当它们对应的非负整数相同。

【输出】

输出文件translate.out共1行,包含一个整数,为软件需要查词典的次数。

【输入输出样例1】

translate.intranslate.out

37

1215441

【输入输出样例1说明】

整个查字典过程如下:

每行表示一个单词的翻译,冒号前为本次翻译后的内存状况:

空:

内存初始状态为空。

1.1:

查找单词1并调入内存。

2.12:

查找单词2并调入内存。

3.12:

在内存中找到单词1。

4.125:

查找单词5并调入内存。

5.254:

查找单词4并调入内存替代单词1。

6.254:

在内存中找到单词4。

7.541:

查找单词1并调入内存替代单词2。

共计查了5次词典。

【输入输出样例2】

210

88241178117811788264

6

【数据范围】

对于10%的数据有M=1,N≤5。

对于100%的数据有0≤100,0≤1000。

varq:

array[0..10000]oflongint;

m,n,x,i,j:

head,tail,ans:

beginassign(input,'

translate.in'

assign(output,'

translate.out'

rewrite(output);

head:

tail:

ans:

beginread(x);

=headtotaildo

ifx=q[j]thenbeginf:

breakend;

iffthencontinue;

inc(tail);

q[tail]:

=x;

inc(ans);

ifans>

mtheninc(head);

readln;

writeln(ans);

close(output);

输入15

714714714714430输出2

输入210

211824992559925599255211264

输出6

输入550

1075673956107979710711113042156111391312107111739295391421800756459949742190398107391193913917399478603921119699710710797786111111295786输出39

输入50100

565623791280818056503272535348081808712372375353484556272272503729845808845287503535180808871272808425344571803476243244842442423715550388588573956237272393729759123696729155565448184500571465413326693808377138155911871582180762759348394912794348716845551682659696424914412457941914404926845输出50

最大连续子序列:

给出一个长度为n的整数序列A,找出i,j使得那一段连续数之和最大。

第一行为n第二行为数列

最大和

输入样例

6

3-524-16

输出样例

11

a,s:

array[0..10000]ofinteger;

i,j,n,max:

assign(input,'

lxzxl.txt'

reset(input);

fillchar(s,sizeof(s),0);

read(a[i]);

s[i]:

=s[i-1]+a[i];

ifs[j]-s[i]>

maxthenmax:

=s[j]-s[i];

writeln(max);

输入12

101923-8-11765566-34884357输出374

输入25

55-30981888997766172545-2215877014196051-48911233992输出953

输入19

-581019-1145362716-4202318-9332130-2015输出282

输入80

1001025698-365588997412369-15-25-4477110105786766549328271517313646-721481233120150-1039473109-10820021023051386260-8211-29-111152128134输出2707

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

当前位置:首页 > 幼儿教育 > 幼儿读物

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

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