1、noip普及组复赛模拟试题13答案越野跑【描述】为了能在下一次跑步比赛中有好的发挥,贝茜在一条山路上开始了她的训练。贝茜希望能在每次训练中跑得尽可能远,不过她也知道农场中的一条规定:奶牛独自进山的时间不得超过M秒(1 =M=10,000,000)。整条山路被贝茜划分成T个长度相同的小段(1 = T = 100,000),并且,贝茜用S_i表示第i个小段的路况。S_i为u,f,d这3个字母之一,它们分别表示第i个小段是上坡、平地,或是下坡。贝茜要花U秒(1=U=100)才能跑完一段上坡路,跑完一段平地的耗时是F秒(1=F=100),跑完一段下坡路要花D秒(1=Dm则输出I-1并退出。【参考程序】
2、program dfjk;var i,s,m,t,u,f,d:longint; a:array1.100000of char;begin readln(m,t,u,f,d); for i:=1 to t do readln(ai); s:=0; for i:=1 to t do begin case ai of u:s:=s+u+d; f:s:=s+2*f; d:s:=s+u+d; end; if s=m then break; end; if s=m then writeln(i); if sm then writeln(i-1);end.输入85 6 23 12 31ufdfdu 输出 2
3、输入985 10 430 325 314ufdfdufuud输出 1数字反转(reverse.pas)【问题描述】给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零。(参见样例2)【输入】输入文件名为reverse.in。 输入共一行,一个整数n。【输出】输出文件名为reverse.out。输出共一行,一个整数,表示反转后的新数。【输入输出样例1】reverse.in reverse.out 123 321【输入输出样例2】 reverse.inreverse.out -380 -83【数据范围】-1,
4、000,000,000N1,000,000,000。【程序】 Var i,j,l:longint; n,a:string;Begin readln(n); L:=length(n); j:=1; if n=0 then begin write(0); exit; end; if n1=- then begin a1:=n1; write(a1); end; for i:=L downto 1 do begin inc(j); aj:=ni; end; i:=2; while ai=0 do inc(i); if a1=- then begin for j:= i to l do write(a
5、j) end else begin for j:=i to l+1 do write(aj); end;End.输入 -290 输出 -92253717 输出 717352 输入-800901860 输出-68109008【问题描述】最近,afy决定给TOJ印刷广告,广告牌是刷在城市的建筑物上的,城市里有紧靠着的N个建筑。afy决定在上面找一块尽可能大的矩形放置广告牌。我们假设每个建筑物都有一个高度,从左到右给出每个建筑物的高度H1,H2HN,且0Hi=1,000,000,000,并且我们假设每个建筑物的宽度? ?。要求输出广告牌的最大面积。【输入文件】中的第一行是一个数n (n= 400,0
6、00 )第二行是n个数,分别表示每个建筑物高度H1,H2HN,且0Hi=1,000,000,000。【输出文件】输出文件 ad.out 中一共有一行,表示广告牌的最大面积。【输入样例】65 8 4 4 8 4【输出样例】24【解释】各个测试点一秒,但就这道题来说,n= 400,000,我们如果用枚举不会过全部数据,我们应设计出o(n)的算法来解决,这是单调队列就可以派上用场了。具体做法是 先正着扫一遍,再倒着扫一遍,找到每一个数的右极限与左极限,最后找出最大值。var temp,ans:int64; n,p,q,i,j:longint; a:array0.400000 of longint;
7、b,r,l:array0.400000 of longint;begin fillchar(b,sizeof(b),0); readln(n); for i:=1 to n do read(ai); p:=1;q:=0; for i:=1 to n+1 do begin while (p=q) and (aiabq) do begin rbq:=i; dec(q); end; inc(q);bq:=i; end; fillchar(b,sizeof(b),0); p:=1;q:=0; for i:=n downto 0 do begin while (p=q) and (aians then
8、ans:=temp; end; writeln(ans);end.输入 2012 8 8 30 40 32 19 22 12 32 30 45 15 19 37 5 5 6 26 35 输出 144输入 563000 2000 180 190 2890 2900 3120 450 560 500 300 2100 2300 480 840 880 890 350 550 450 760 960 860 250 260 1050 1130 1140 2140 2045 2065 3075 3155 3255 3470 3490 3240 920 930 900 930 980 890 740 7
9、60 770 825 845 855 950 1980 880 680 690 2380 2390输出 21080Farmer John给谷仓安装了一个新的安全系统,并且要给牛群中的每一个奶牛分配一个有效的密码。一个有效的密码由L(3 = L = 15)个小写字母(来自传统的拉丁字母集a.z)组成,至少有一个元音(a, e, i, o, 或 u)和两个辅音(除去元音以外的音节),并且是按字母表顺序出现的(例如,abc是有效的,而bac不是) 。给定一个期望长度L和C个小写字母,写一个程序,打印出所有的长度为L、能由这给定的C个字母组成的有效密码。密码必须按字母表顺序打印出来,一行一个。你的程序
10、只需输出前25,000个有效密码,即使后面还存在有效密码。【输入】第一行: 两个由空格分开的整数,L和C;第二行: C个空格分开的小写字母,密码是由这个字母集中的字母来构建的。【输出】第一至?行: 每一个输出行包括一个长度为L个字符的密码(没有空格)。输出行必须按照字母顺序排列。如果存在多于25,000个有效密码,你的程序必须在输出25,000个有效密码后停止。【样例输入输出】passwd.inpasswd.out4 6a t c i s wacisacitaciwacstacswactwaistaiswaitwastwcistciswcitwistw解法:纯碎的深搜吧.也就只有元音辅音的多少
11、是要注意的了.vara:array0.28 of char;l,c,i,j,k:longint;y:set of char;ch:char;procedure dfs(i,t:longint;s:string);varyy,fy,j,j1:longint;beginif k=25000 then exit;if t=l then beginyy:=0;fy:=0;for j1:=1 to l do beginif sj1 in y then inc(yy)else inc(fy);end;if (yy1) or (fyaj then begina0:=ai;ai:=aj;aj:=a0;end;
12、end;end;for i:=1 to c-l+1 do begindfs(i,1,ai);end;close(input);close(output);end.输入 6 8 a y c i s t w z输出acistwacistyacistzaciswyaciswzacisyzacitwyacitwzacityzaciwyzacstwyacstwzacstyzacswyzactwyzaistwyaistwzaistyzaiswyzaitwyzastwyzcistwycistwzcistyzciswyzcitwyzistwyz输入 7 10a y c i s t w z b f输出abcfi
13、stabcfiswabcfisyabcfiszabcfitwabcfityabcfitzabcfiwyabcfiwzabcfiyzabcfstwabcfstyabcfstzabcfswyabcfswzabcfsyzabcftwyabcftwzabcftyzabcfwyzabcistwabcistyabcistzabciswyabciswzabcisyzabcitwyabcitwzabcityzabciwyzabcstwyabcstwzabcstyzabcswyzabctwyzabfistwabfistyabfistzabfiswyabfiswzabfisyzabfitwyabfitwzabfi
14、tyzabfiwyzabfstwyabfstwzabfstyzabfswyzabftwyzabistwyabistwzabistyzabiswyzabitwyzabstwyzacfistwacfistyacfistzacfiswyacfiswzacfisyzacfitwyacfitwzacfityzacfiwyzacfstwyacfstwzacfstyzacfswyzacftwyzacistwyacistwzacistyzaciswyzacitwyzacstwyzafistwyafistwzafistyzafiswyzafitwyzafstwyzaistwyzbcfistwbcfistybcfistzbcfiswybcfiswzbcfisyzbcfitwybcfitwzbcfityzbcfiwyzbcistwybcistwzbcistyzbciswyzbcitwyzbfistwybfistwzbfistyzbfiswyzbfitwyzbistwyzcfistwycfistwzcfistyzcfiswyzcfitwyzcistwyzfistwyz
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1