不是VIP会员,不能显示答案

题目解答

题目:
【物品选择】
神舟九号将搭载三名航天员进入天宫一号进行为期十几天的空间科学实验和生活,这在我国航天史上是前所未有的。它需要搭载睡,食物,推进剂和试验设备等进入太空。由于火箭燃料费用很高,飞船的空间与载重能力又有限。所以科学家必须选择最有必要带入太空进行本次试验的物品进行装载。科学家通过一段时间的研究分析,对带入太空的物品测定了三个参数:体积V、重量W、必要度K。如甲物品必要度为50,乙物品重要度为30,那么火箭搭载甲、乙物品所取得的必要度为80.现在科学家需要设计一个程序,在给定飞船所能搭载物品最大体积与最大重量的情况下,选择合适的物品进行搭载以取得最大搭载必要度总和。(注:物品不能进行分割。所搭载物品体积之和、重量之和分别不能超过飞船所能搭载物品最大体积与最大重量)
输入说明:第一行包含两个数,依次表示飞船所能搭载物品的最大体积和最大载重量,第二行包含一个整数,表示可供选择的物品数量N(不超过99),第三行至第2+N行每行三个整数,依次表示每个物品的体积(<50000)、重量(<50000)和必要度(<50000)。
输出说明:包含一个整数,表示所能达到的最大必要度总和。
【样例输入】
320 350
4
160 40 120
80 110 240
220 70 310
40 400 220
【样例输出】
550

请按上述说明将下列程序补充完整。
var i,j,n:integer;
    tw,tv,maxk,temp_v,temp_w,temp_k:real;
    b,temp:array[1..100] of integer;
    v,w,k:array[1..100] of real;
begin
  readln(tv,tw);
  _______readln(n)_______;
  for i:=1 to n do readln(v[i],w[i],k[i]);
  maxk:=0;
  for i:=1 to 100 do b[i]:=0;
  while ____b[n+1]=0____ do
   begin
    i:=1;
    while b[i]=1 do inc(i);
    b[i]:=1;
    for ____j:=1 to i-1_____ do b[j]:=0;
    temp_v:=0;temp_w:=0; ____temp_k:=0_____;
    for j:=1 to n do
      if _____b[j]=1______ then
        begin
         temp_w:=temp_w+w[j];
         temp_v:=temp_v+v[j];
         temp_k:=temp_k+k[j];
        end;
    if (temp_v<tv)and (temp_w<tw)and(temp_k>maxk) then
      begin
       _____maxk:=temp_k_____;
       for j:=1 to n do
         temp[j]:=b[j];
      end;
   end;
 writeln(maxk:0:0);
end.
考点:
分析:
解答:
评论:
老师: