noip普及组复赛模拟试题11答案

2019-01-26 14:38

机器人深海探测是一个极富挑战性的高技术科学研究项目。小雪参加了这一项目的研究工作。

潜水机器人可以携带规定有限的能量。在深海探测过程中,机器人需要消耗一定的能量,但可以在机器人之间通过接触传递能量。用多个潜水机器人接力潜水可以极大地提高潜水机器人的潜水深度。

现给定2个潜水机器人。第1个潜水机器人最多可以携带x1单位的能量,每下潜1米需要消耗能量y1单位。第2个潜水机器人最多可以携带x2单位的能量,每下潜1米需要消耗能量y2单位。开始时2个潜水机器人均处于同一海平面高度为0,并且每个机器人初始时都携带了规定最多的能量。计算用这2个机器人进行不返回的接力深海探测可下潜的最大深度。

输入:每行一个整数,依次为x1,x2,y1,y2;

输出: 这2个登山机器人可下潜的最大深度,精确到小数点后2位。 例如输入: 50 50 0.01 0.01 输出:

7500.00

var x1,x2,y1,y2,x,y,s:real; begin

readln(x1); readln(x2); readln(y1); readln(y2); s:=0;

if (x1/y1)>(x2/y2) then begin x:=x1; y:=y1; end

else begin

x:=x2; y:=y2; end; repeat

x1:=x1-y1; x2:=x2-y2; s:=s+1;

until x1+x2<=x; s:=s+x/y;

writeln(s:0:2); readln; end. 输入: 40 0.02↙ 50 0.01↙

输出: 6334.00 输入25 35 0.15 0.25

输出 254.67 123 321 1.5 5.1

输出 131.00

2035年,智能机器人在各行各业中的应用已经十分普遍了,毕竟它做事时的精度与力量比一个普通人是强多了。 王涛的运输队里就有一个,是用来装卸货物的。

这天,他们的任务是要把 N(2 <= N <= 50 )根废旧的条形钢材运送到钢铁厂重新冶炼。这些钢材长短不同(有些还特别的长),为了便于运输,只好把它们切割成小段。所以,他给机器人的任务是:把这些钢材切割并装上卡车。

等机器人做完这事的时候,王涛一看结果,自己都被逗笑了:机器人的逻辑就是和人不同啊——装在车上的所有小段的钢材,居然长度都是一样的(以米为单位),而且,还是所有可行方案中,切割次数最少的那种方案!

如果告诉你最开始那N根钢材的长度,你能算出机器人切割出的小段的长度么? 输入

第一行为整数N ,表示原始钢材的数量。第二行中是N个用空格分开的整数,表示每根废旧钢材的长度(以米为单位),已知这些整数不小于1,不超过400000。 输出

只有一个整数,表示机器人切割出来的每个小段的长度。 样例输入 4

4 22 8 12 样例输出 2

程序段如下:

var n,i:integer;//大家不知道有没有读懂题目,这道题目的意思实际上是求多个数的最大公约数

a:array[1..50] of longint; min:longint; begin readln(n);

read(a[1]);//一定要注意读入 min:=a[1]; for i:=2 to n do begin

read(a[i]);

if a[i]

while (a[i] mod min=0) and (i<=n) do inc(i); if i<=n then dec(min); until i>n; writeln(min); end. 输入 6

12 9 36 60 45 24 输出 3 输入 8

2 3 4 5 6 7 8 9 输出 1 输入 12

10000 30000 5000 900 200 40000 4000 6000 3500 5500 25000 8000输出 100 输入 15

70 100 40000 350 35000 700 455 900 95 120 12000 6500 550 35 12000 输出 5

放苹果

Description

把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。

Input

第一行是测试数据的数目t(0 <= t <= 20)。以下每行均包含二个整数M和N,以空格分开。1<=M,N<=10。

Output

对输入的每组数据M和N,用一行输出相应的K。 Sample Input

1 7 3

Sample Output 8

【DP法】【1、 如果m

2、 如果有盘子是空的,那么counts[m][n] = counts[m][n-1],也就说即使少一个盘子也一样。

3、 如果没有盘子是空的,那当前情况和每个盘子取出一个苹果的放法相同。即m个苹果放到n个盘子的方法和m-n个苹果放到n个盘子的方法相同。Counts[m][n] = counts[m-n][n]

M = 1和N=1的情况是初始条件,为了便于计算,将M=0的情况也都置了1】 【代码】 program apple;

var f:array [0..10,0..10] of longint; n,k,i,j,l,m,t:longint; begin

assign(input,'apple.in'); reset(input);

assign(output,'apple.out'); rewrite(output); readln(t);

for j:=0 to 10 do begin

f[0,j]:=1; f[1,j]:=1; f[j,1]:=1; end;

for m:=2 to 10 do for n:=2 to 10 do

if n>m then f[m,n]:=f[m,m]

else f[m,n]:=f[m,n-1]+f[m-n,n]; for i:=1 to t do begin

readln(l,k); writeln(f[l,k]); end; close(input); close(output); end. 输入 2 10 4

8 3 输出 23 10 输入 1

9 5

输出 23

描述 Description

Farmer John最近为奶牛们的图书馆添置了一个巨大的书架,尽管它是如此的大,但它还是几乎瞬间就被各种各样的书塞满了。现在,只有书架的顶上还留有一点空间。

所有N(1 <= N <= 20)头奶牛都有一个确定的身高H_i(1 <= H_i <= 1,000,000 - 好高的奶牛>_<)。设所有奶牛身高的和为S。书架的高度为B,并且保证1 <= B <= S。 为了够到比最高的那头奶牛还要高的书架顶,奶牛们不得不象演杂技一般,一头站在另一头的背上,叠成一座“奶牛塔”。当然,这个塔的高度,就是塔中所有奶牛的身高之和。为了往书架顶上放东西,所有奶牛的身高和必须不小于书架的高度。 塔叠得越高便越不稳定,于是奶牛们希望找到一种方案,使得叠出的塔在高度不小于书架高度的情况下,高度尽可能小。你也可以猜到你的任务了:写一个程序,计算奶牛们叠成的塔在满足要求的情况下,最少要比书架高多少。

输入格式 Input Format

* 第1行: 2个用空格隔开的整数:N 和 B * 第2..N+1行: 第i+1行是1个整数:H_i

输出格式 Output Format

* 第1行: 输出1个非负整数,即奶牛们叠成的塔最少比书架高的高度

样例输入 Sample Input 5 16 3 1 3 5 6

样例输出 Sample Output 1

时间限制 Time Limitation 各个测试点1s

注释 Hint

我们选用奶牛1、3、4、5叠成塔,她们的总高度为3 + 3 + 5 + 6 = 17。任何方案都无法叠出高度为16的塔,于是答案为1。 program TYVJ_P1100; var

h:array [1..20] of longint; i,n,min,b:longint;

procedure dfs(x,sum:longint); var

i:longint;

begin

if sum>=b then begin

if min>sum-b then min:=sum-b; exit; end;

for i:=x+1 to n do dfs(i,sum+h[i]); end; begin

assign(input,'1.txt'); reset(input);

assign(output,'o.txt'); rewrite(output); readln(n,b); for i:=1 to n do readln(h[i]); min:=maxlongint; dfs(0,0); writeln(min); close(input); close(output); end.

输入 8 23 1 2 5 5 6 4 3 1 输出


noip普及组复赛模拟试题11答案.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:华中师范大学2011年教育学院硕士研究生招生专业目录

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: