网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
01月07日漏签0天
noip吧 关注:25,195贴子:642,086
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 1 2 下一页 尾页
  • 17回复贴,共2页
  • ,跳到 页  
<<返回noip吧
>0< 加载中...

关于登山机器人问题,高手请进。

  • 只看楼主
  • 收藏

  • 回复
  • 我_很正经
  • 提高三等
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
题目描述
登山机器人是一个极富挑战性的高技术密集型科学研究项目。它涉及小车机械、飞行器控制、机器人学、机电一体化、单片机、数据融合、精密仪器、实时数字信号处理、图像处理与图像识别、知识工程与专家系统、决策、轨迹规划、自组织与自学习理论、多智能体协调、以及无线通讯等多项理论和技术,是一个典型的智能机器人系统。登山机器人为研究发展多智能体系统和多机器人之间的合作与对抗提供了生动的研究模型。
登山机器人可以携带有限的能量。在登山过程中,登山机器人需要消耗一定能量,并且可以在机器人之间通过接触传递能量。用多个登山机器人接力登山可以极大地提高登山机器人的攀登高度。
给定n个登山机器人(1<n<100)。第i个登山机器人最多可以携带Xi单位的能量,每攀高1米需要消耗能量Yi单位。开始登山时n个登山机器人均处于同一水平高度0,并且每个登山机器人初始时都携带了最多的能量。计算用这n个登山机器人进行不返回的接力登山可攀登的最高的高度。
输入格式
输入文件第1行中的整数为登山机器人个数n;接下来的n行中每行一个整数,依次为X1,X2,X3,……,Xn;最后的n行中每行一个整数,依次为Y1,Y2,Y3,……,Yn。
输出格式
输出文件只有一个数,为这n个登山机器人可攀登的最高的高度,精确到小数点后2位。
样例输入
2
50
50
0.01
0.01
样例输出
7500
我的程序:
var
   a     :array[1..100]of real; {pa gao nengli,}
   x     :array[1..100]of real; {xiedai nengliang,}
   y     :array[1..100]of real; {danwei xiaohao nengliang}
   n     :longint;
   i,j,k:real;
   cb    :longint;      {xunhuan}
   mi    :real;
procedure clamb;
var
   i,j   :longint;
   t     :real;
   robot:longint; {nengli qiangruo de jiqiren}
   step :longint;
   power:longint;{nengli qiangruo}
begin
   for cb:=1 to n do
     a[cb]:=(x[cb] / y[cb]);
   {   for i:= 1 to n do read(a[i]);    }
     for i:=1 to n -1 do
       for j:=n downto i+1 do
         if a[j-1]<a[j] then
           begin
             t:=a[j-1];
             a[j-1]:=a[j];
             a[j]:=t;
             t:=x[j-1];
             x[j-1]:=x[j];
             x[j]:=t;
             t:=y[j-1];
             y[j-1]:=y[j];
             y[j]:=t;



  • 我_很正经
  • 提高三等
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

           end;
     { write('output data:');
      for i:= 1 to n do write(a[i]:6);   }
   mi:=0;
   for robot:=n downto 2 do
     begin
       repeat
         mi:=mi+1;
         for power:=1 to robot-1 do
           begin
             if x[robot]>= y[power] then
               x[robot]:=x[robot]-y[power]
             else
             begin
               x[power]:=x[power]-y[power]+x[robot];
               x[robot]:=0;
                break;
             end;
           end;
       until x[robot]=0;
     end;
end;
//.............................................
begin
   writeln('Input robot ...','n:=?(0<n<100)');
   readln(n);
   writeln('Input xiedai nengliang...');
   for cb:=1 to n do
     readln(x[cb]);
   writeln('Input danwei xiaohao nengliang... ');
   for cb:=1 to n do
     readln(y[cb]);
   clamb;
   mi:=x[1]/y[1]+mi;
   writeln(mi);
end.
一直调试不出来.....
高手们帮帮忙, 谢谢了!


2026-01-07 08:32:40
广告
不感兴趣
开通SVIP免广告
  • 我_很正经
  • 提高三等
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
= =
会员咋还要输验证码.......NC的度兽...


  • 广陵lonely散
  • 怒进省队
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
这是一道强题


  • 我_很正经
  • 提高三等
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
回复:4楼
能帮忙改下么????


  • 我_很正经
  • 提高三等
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
回复:7楼
..........能帮忙改下源程序么??


  • 我_很正经
  • 提高三等
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
召唤牛们......


  • 璐村惂鐢ㄦ埛_05QV6Qa馃惥
  • 提高二等
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
回复:7楼
我们的思路惊人的吻合。


2026-01-07 08:26:40
广告
不感兴趣
开通SVIP免广告
  • 222.191.159.*
快试试吧,
可以对自己使用挽尊卡咯~
◆
◆
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
路过。


  • 我_很正经
  • 提高三等
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
神啊...
救命阿 .......


  • 伊寒梦雨
  • 初识程序
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

#include<stdio.h>
//贪心法
int b[6][11];
int n,k,m;
int x[6];
int fun()
{
int i,min=100000000,j;
for(i=1; i<=n; i++)
{
if(x[i]<=k)
{
if(min > b[i][x[i]]-b[i][x[i]-1])
{
min=b[i][x[i]]-b[i][x[i]-1];
j=i;
}
}
}
x[j]++;
return min;
}
int main()
{
int i,j,l,c1,c2,sum;
while(scanf("%d%d%d",&n,&k,&m)!=EOF)
{
for(i=1;i<=n;i++)
for(j=1; j<=k; j++)
scanf("%d",&b[i][j]);
for(i=0; i<=n; i++)
x[i]=2;
sum=0;
m-=n;
for(i=1;i<=m;i++)
sum+=fun();
for(i=1;i<=n; i++)
sum+=b[i][1];
printf("%d\n",sum);
}
}


  • 伊寒梦雨
  • 初识程序
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
点点滴滴


  • Sauries
  • 初识程序
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
pascal:
var y,t:array[0..101] of real;
x:array[0..101] of int64;
i,n,j:longint;
p,ans:real;
procedure swap(a,b:real);
begin
p:=a; a:=b; b:=p;
end;
begin
readln(n);
for i:=1 to n do readln(x[i]);
for i:=1 to n do readln(y[i]);
for i:=1 to n do t[i]:=x[i]/(y[i]*y[i]);
for i:=1 to n-1 do
for j:=i+1 to n do
if t[i]<t[j] then begin
swap(x[i],x[j]);
swap(y[i],y[j]);
swap(t[i],t[j]);
end;
for i:=2 to n do y[i]:=y[i]+y[i-1];
ans:=0;
for i:=1 to n do ans:=ans+x[i]/y[i];
ans:=ans-0.0000001;
writeln(ans:0:2);
end.
7500.00 是对的。可是大神有别的样例吗?


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 1 2 下一页 尾页
  • 17回复贴,共2页
  • ,跳到 页  
<<返回noip吧
分享到:
©2026 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示