洛谷 【P1252】马拉松接力赛

题目描述

某城市冬季举办环城25km马拉松接力赛,每个代表队有5人参加比赛,比赛要求每个的每名参赛选手只能跑一次,一次至少跑1km、最多只能跑10km,而且每个选手所跑的公里数必须为整数,即接力的地方在整公里处。

刘老师作为学校代表队的教练,精心选择了5名长跑能手,进行了训练和测试,得到了这5名选手尽力连续跑1km、2km、…、10km的所用时间。现在他要进行一个合理的安排,让每个选手跑合适的公里数,使学校代表队跑完25km所用的时间最短。根据队员的情况,这个最短的时间是惟一的,但安排方案可能并不惟一。

根据测试情况及一般运动员的情况得知,连续跑1km要比连续跑2km速度快,连续跑2km又要比连续跑3km速度快……也就是说连续跑的路程越长,速度越慢,当然也有特殊的,就是速度不会变慢,但是绝不可能变快。

输入输出格式

输入格式:

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

输出格式:

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

输入输出样例

输入样例#1: 复制

  1. 333 700 1200 1710 2240 2770 3345 3956 4778 5899
  2. 300 610 960 1370 1800 2712 3734 4834 5998 7682
  3. 298 612 990 1540 2109 2896 3790 4747 5996 7654
  4. 289 577 890 1381 1976 2734 3876 5378 6890 9876
  5. 312 633 995 1407 1845 2634 3636 4812 5999 8123
输出样例#1: 复制

  1. 9905
  2. 6 5 5 4 5
  3.  
  4. 思路:裸的贪心 难度:普及-
  1. #include<algorithm>
  2. #include<cstdio>
  3. #define M 10
  4. using namespace std;
  5. int a[M+], b[M+], c[M+], d[M+], e[M+];
  6. int minn = , sum;
  7. int x, y, z, p, q;
  8. int main() {
  9. for(int i = ; i <= M; i++) scanf("%d", &a[i]);
  10. for(int i = ; i <= M; i++) scanf("%d", &b[i]);
  11. for(int i = ; i <= M; i++) scanf("%d", &c[i]);
  12. for(int i = ; i <= M; i++) scanf("%d", &d[i]);
  13. for(int i = ; i <= M; i++) scanf("%d", &e[i]);
  14. for(int i = ; i <= M; i++)
  15. for(int j = ; j <= M; j++)
  16. for(int k = ; k <= M; k++)
  17. for(int s = ; s <= M; s++)
  18. for(int t = ; t <= M; t++) {
  19. sum = a[i]+b[j]+c[k]+d[s]+e[t];
  20. if(sum<minn && i+j+k+s+t==) {
  21. minn = sum;
  22. x=i, y=j, z=k, p=s, q=t;
  23. }
  24. }
  25. printf("%d\n", minn);
  26. printf("%d %d %d %d %d", x, y, z, p, q);
  27. return ;
  28. }

弱智般的30分暴力

  1. #include<cstdio>
  2. #include<iostream>
  3. #define INF 2147483647
  4. using namespace std;
  5. int minx = INF, flag, ans;
  6. int a[][], b[][], c[];
  7. int main() {
  8. c[] = c[] = c[] = c[] = c[] = ;
  9. for(int i = ; i < ; i++)
  10. for(int j = ; j < ; j++) {
  11. cin >> a[i][j];
  12. b[i][j] = a[i][j]-a[i][j-];
  13. }
  14. for(int i = ; i < ; i++) {
  15. minx = INF;
  16. for(int j = ; j < ; j++)
  17. if(b[j][c[j]+] < minx && c[j]+ <= ) {
  18. flag = j;
  19. minx = b[j][c[j]+];
  20. }
  21. c[flag]++;
  22. }
  23. for(int i = ; i < ; i++) ans+=a[i][c[i]];
  24. printf("%d\n%d %d %d %d %d\n",ans,c[],c[],c[],c[],c[]);
  25. return ;
  26. }

正解

  1.  

洛谷 【P1252】马拉松接力赛的更多相关文章

  1. 洛谷1640 bzoj1854游戏 匈牙利就是又短又快

    bzoj炸了,靠离线版题目做了两道(过过样例什么的还是轻松的)但是交不了,正巧洛谷有个"大牛分站",就转回洛谷做题了 水题先行,一道傻逼匈牙利 其实本来的思路是搜索然后发现写出来类 ...

  2. 洛谷P1352 codevs1380 没有上司的舞会——S.B.S.

    没有上司的舞会  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond       题目描述 Description Ural大学有N个职员,编号为1~N.他们有 ...

  3. 洛谷P1108 低价购买[DP | LIS方案数]

    题目描述 “低价购买”这条建议是在奶牛股票市场取得成功的一半规则.要想被认为是伟大的投资者,你必须遵循以下的问题建议:“低价购买:再低价购买”.每次你购买一支股票,你必须用低于你上次购买它的价格购买它 ...

  4. 洛谷 P2701 [USACO5.3]巨大的牛棚Big Barn Label:二维数组前缀和 你够了 这次我用DP

    题目背景 (USACO 5.3.4) 题目描述 农夫约翰想要在他的正方形农场上建造一座正方形大牛棚.他讨厌在他的农场中砍树,想找一个能够让他在空旷无树的地方修建牛棚的地方.我们假定,他的农场划分成 N ...

  5. 洛谷P1710 地铁涨价

    P1710 地铁涨价 51通过 339提交 题目提供者洛谷OnlineJudge 标签O2优化云端评测2 难度提高+/省选- 提交  讨论  题解 最新讨论 求教:为什么只有40分 数组大小一定要开够 ...

  6. 洛谷P1371 NOI元丹

    P1371 NOI元丹 71通过 394提交 题目提供者洛谷OnlineJudge 标签云端评测 难度普及/提高- 提交  讨论  题解 最新讨论 我觉得不需要讨论O long long 不够 没有取 ...

  7. 洛谷P1538迎春舞会之数字舞蹈

    题目背景 HNSDFZ的同学们为了庆祝春节,准备排练一场舞会. 题目描述 在越来越讲究合作的时代,人们注意的更多的不是个人物的舞姿,而是集体的排列. 为了配合每年的倒计时,同学们决定排出——“数字舞蹈 ...

  8. 洛谷八月月赛Round1凄惨记

    个人背景: 上午9:30放学,然后因为学校举办读书工程跟同学去书城选书,中午回来开始打比赛,下午又回老家,中间抽出一点时间调代码,回家已经8:50了 也许是7月月赛时“连蒙带骗”AK的太幸运然而因同学 ...

  9. 洛谷 P1379 八数码难题 Label:判重&&bfs

    特别声明:紫书上抄来的代码,详见P198 题目描述 在3×3的棋盘上,摆有八个棋子,每个棋子上标有1至8的某一数字.棋盘中留有一个空格,空格用0来表示.空格周围的棋子可以移到空格中.要求解的问题是:给 ...

随机推荐

  1. hadoop集群中动态添加新的DataNode节点

    集群中现有的计算能力不足,须要另外加入新的节点时,使用例如以下方法就能动态添加新的节点: 1.在新的节点上安装hadoop程序,一定要控制好版本号,能够从集群上其它机器cp一份改动也行 2.把name ...

  2. 字典(dictionary)与映射(map)

    1. 字典:key-value 键值对 反转字典:reverse_dict = dict(zip(D.values(), D.keys())) 前提要保证 D 的 value 不会出现重复,因为字典反 ...

  3. Python(十一) 原生爬虫

    一.分析抓取目的确定抓取页面   #爬取主播人气排行 二.整理爬虫常规思路   爬虫前奏 明确目的 找到数据对应的网页 分析网页的结构找到数据所在的标签位置 模拟 HTTP 请求, 向服务器发送这个请 ...

  4. javascript中 visibility和display的区别

    visibility属性用来确定元素是显示还是隐藏的,这用visibility="visible|hidden"来表示(visible表示显示,hidden表示隐藏). 当visi ...

  5. 在Ubuntu14.04中安装Py3和切换Py2和Py3环境

    前几天小编给大家分享了如何安装Ubuntu14.04系统,感兴趣的小伙伴可以戳这篇文章:手把手教你在VMware虚拟机中安装Ubuntu14.04系统.今天小编给大家分享一下在Ubuntu14.04系 ...

  6. PHP获取随机字符串的两种方法

    <?php /** * 随机返回字符串 * @param number 返回字符串长度 * @param string 从哪些字符串中随机返回,已设置默认字符串,可空 * @return str ...

  7. MD5解密(常用语登录密码加密)

    http://pmd5.com/

  8. ajax提交转码解码

    js 文字传输加密 encodeURI(encodeURI(distName)) java 解密 URLDecoder.decode(request.getParameter("distNa ...

  9. Python入门:全站url爬取

    <p>作为一个安全测试人员,面对一个大型网站的时候,手工测试很有可能测试不全,这时候就非常需要一个通用型的网站扫描器.当然能直接扫出漏洞的工具也有很多,但这样你只能算是一个工具使用者,对于 ...

  10. RocketMQ 就是耗内存

    http://blog.csdn.net/loongshawn/article/details/51086876 https://rocketmq.incubator.apache.org/docs/ ...