博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
马拉松接力赛
阅读量:5096 次
发布时间:2019-06-13

本文共 1271 字,大约阅读时间需要 4 分钟。

【题目描述】某城市冬季举办环城25km马拉松接力赛,每个代表队有5人参加比赛,比赛要求每个的每名参赛选手只能跑一次,一次至少跑1km、最多只能跑10km,而且每个选手所跑的公里数必须为整数,即接力的地方在整公里处。 有5名长跑能手,给出这5名选手尽力连续跑1km、2km、…、10km的所用时间。现在他要进行一个合理的安排,让每个选手跑合适的公里数,使学校代表队跑完25km所用的时间最短。根据队员的情况,这个最短的时间是惟一的,但安排方案可能并不惟一。根据测试情况及一般运动员的情况得知,连续跑1km要比连续跑2km速度快,连续跑2km又要比连续跑3km速度快……也就是说连续跑的路程越长,速度越慢,当然也有特殊的,就是速度不会变慢,但是绝不可能变快

【输入】5行数据,分别是1到5号队员的测试数据,每行的10个整数,表示某一个运动员尽力连续跑1km、2km、…、10km所用的时间

【输出】两行,第一行是最短的时间,第二行是五个数据,分别是1到5号队员各自连续跑的公里数。

【输入样例】

333 700 1200 1710 2240 2613 3245 3956 4778 5899

300 610 960 1370 1800 2712 3834 4834 5998 7682

298 612 990 1560 2109 2896 3790 4747 5996 7654

289 577 890 1381 1976 2734 3876 5678 6890 9876

312 633 995 1467 1845 2634 3636 4812 5999 8123

【输出样例】

9748

6 5 5 4 5

经典水题。首先设置每个人都跑一公里,剩下的20公里路程分公里处理,谁跑的继续跑的时间快就分配给谁

 

program marathon;var    a:array[1..5,1..10]of longint;    ans:array[1..5]of longint;    min,i,j,k,m,t:longint;begin    for i:=1 to 5 do        for j:=1 to 10 do read(a[i,j]);    min:=0;    for i:=1 to 5 do    begin        ans[i]:=1;        inc(min,a[i,1]);    end;    k:=20;    while k>0 do    begin        t:=1;        while ans[t]>=10 do inc(t);        m:=t;        for j:=t+1 to 5 do            if ans[j]<10 then                if a[j,ans[j]+1]-a[j,ans[j]]

 

转载于:https://www.cnblogs.com/qilinart/articles/4976416.html

你可能感兴趣的文章
人见人爱,花见花开的数据库
查看>>
关于<context:property-placeholder>的一个有趣现象
查看>>
XigmaNAS中virtualbox无法启动问题
查看>>
C++用new创建对象和不用new创建对象的区别解析
查看>>
【Packet Tracer 实验笔记4】
查看>>
Why C++ ? 王者归来
查看>>
ServletContext实现转发和读取Properties配置文件
查看>>
My Brute HDU - 3315(KM || 费用流)
查看>>
RestTemplate 中文乱码解决方法
查看>>
冒泡排序, 使用最低票价.---双重循环,一重移动次数.二重移动
查看>>
1go基本语法
查看>>
C与C艹的内存管理方式
查看>>
UVa401
查看>>
查看selinux的状态
查看>>
浅谈单调队列、单调栈【转载】
查看>>
[LintCode] 最小路径和
查看>>
S-GPRS车辆监控方案-转载
查看>>
Mapinfo重点及难点讲解-SQL查询
查看>>
AngularJS路由(转)
查看>>
兼容IE6-9,FF,Chrome的box-shadow效果(纯CSS)
查看>>