hdoj 4310 贪心
不知为毛,过不了
我的代码:
#include<stdio.h>
int main()
{
int n,a[30],b[30],temp,i,j,s1,s2;
double c[30];
while(scanf("%d",&n)!=EOF)
{
s1=0;
s2=0;
for(i=0;i<n;i++)
{
scanf("%d%d",&a[i],&b[i]);
s1+=a[i];
c[i]=a[i]/b[i];
}
for(i=0;i<n;i++)
{
for(j=i+1;j<n;j++)
{
if(c[i]<c[j])
{
temp=c[i];
c[i]=c[j];
c[j]=temp;
temp=b[i];
b[i]=b[j];
b[j]=temp;
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
for(i=0;i<n;i++)
{
s2+=s1*b[i];
s1-=a[i];
}
printf("%d\n",s2);
}
}
Ac的代码:
- #include <stdio.h>
- #include <algorithm>
- using namespace std;
- struct Node
- {
- int dps;
- int hp;
- }a[30];
- int cmp(Node x,Node y)
- {
- return x.hp*y.dps<y.hp*x.dps;//按比率排,避免小数,所以讲式子进行转换
- }
- int main()
- {
- int t,i;
- int sum,ans;
- while(~scanf("%d",&t))
- {
- sum = ans = 0;
- for(i = 0;i<t;i++)
- {
- scanf("%d%d",&a[i].dps,&a[i].hp);
- sum+=a[i].dps;
- }
- sort(a,a+t,cmp);
- for(i = 0;i<t;i++)
- {
- ans+=sum*a[i].hp;
- sum-=a[i].dps;
- }
- printf("%d\n",ans);
- }
- return 0;
- }
- 有毛区别
hdoj 4310 贪心的更多相关文章
- HDU 4310 贪心
题意 在游戏中你的dps为1但是hp无限 给出n个敌人的dps与hp 你一秒能打掉一个敌人你的dps的hp 当你输出的时候 所有活着的敌人都会打你 求杀死所有敌人时你掉的最少hp 一开始想错了 排序的 ...
- HDOJ 2209 贪心
翻纸牌游戏 Time Limit: 9000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submi ...
- HDU4310HERO贪心问题
问题描述 When playing DotA with god-like rivals and pig-like team members, you have to face an embarrass ...
- HDOJ 1009. Fat Mouse' Trade 贪心 结构体排序
FatMouse' Trade Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- HDU 4310 Hero (贪心算法)
A - Hero Time Limit:3000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u Submit Sta ...
- 贪心 HDOJ 4726 Kia's Calculation
题目传送门 /* 这题交给队友做,做了一个多小时,全排列,RE数组越界,赛后发现读题读错了,囧! 贪心:先确定最高位的数字,然后用贪心的方法,越高位数字越大 注意:1. Both A and B wi ...
- BFS+贪心 HDOJ 5335 Walk Out
题目传送门 /* 题意:求从(1, 1)走到(n, m)的二进制路径值最小 BFS+贪心:按照标程的作法,首先BFS搜索所有相邻0的位置,直到1出现.接下去从最靠近终点的1开始, 每一次走一步,不走回 ...
- [HDOJ - 5208] Where is Bob 【DFS+按位贪心】
题目链接:HDOJ - 5208 题目分析 使用按位贪心的思想,即从高位向低位枚举,尽量使这一位的答案为 1 . 我们使用 DFS ,每次就是对于 [l1, r1] [l2, r2] x 进行处理 ...
- HDOJ(HDU).1864 最大报销额 (贪心)
HDOJ(HDU).1864 最大报销额 题意分析 题目有点问题,原题中说的 单项物品的价值不得超过600元 应该是单类物品的价值不能超过600元. 一开始以为是01背包,后来按贪心写过了. 一张一张 ...
随机推荐
- Node.js权威指南 (8) - 创建HTTP与HTTPS服务器及客户端
8.1 HTTP服务器 / 177 8.1.1 创建HTTP服务器 / 177 8.1.2 获取客户端请求信息 / 182 8.1.3 转换URL字符串与查询字符串 / 184 8.1.4 发送服务器 ...
- touchend事件的preventDefault阻止掉了click事件
<div id="box">box</div> <script> var isTouchDevice = function() { return ...
- Go语言的学习
1.配置环境变量 2.本地阅读报的说明和文档 不用FQ window+R 出现黑窗口 执行 godoc -http :8080 在本地浏览器 localhost:8080 回车 3多行注释 ...
- 【转】unity3d 如何得到当前物体播放的动画
原文:http://blog.csdn.net/smilelance/article/details/22285125 public static string GetCurrentPlayingAn ...
- Java数据库编程
ava与数据库交互的主要API是jdbc.jdbc的主要目的是: 1.通过使用SQL或者专有的SQL扩展,程序员可以利用java语言开发访问数据的应用. 2.数据库开发商或者数据库工具开发商改进数据库 ...
- 3D FPS游戏中Player摄像机的运动
最近遇到一些类似3D FPS的game play.针对这里面Player摄像机的运动的问题,随便总结一些东西以备参考.首先,对问题做一些的假设: Player摄像机在多数情况下在场景中的位置是固定的, ...
- java 23 种设计模式
一.设计模式的分类 总体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式.抽象工厂模式.单例模式.建造者模式.原型模式. 结构型模式,共七种:适配器模式.装饰器模式.代理模式.外观模式.桥接 ...
- Index of super-prime - SGU 116(素数+背包)
题目大意:素数表2,3,5,7,11.....如果一个素数所在的位置还是素数,那么这个素数就是超级素数,比如3在第2位置,那么3就是超级素数.....现在给你一个数,求出来这个数由最少的超级素数的和组 ...
- 【matlab】matalb生成dll给Cpp用
http://blog.csdn.net/scudz/article/details/13628917 这篇文章写得很好,我跟据这个,操作了一下,发现,好用,精简版总结如下 1. matlab打开一个 ...
- Android ListView的背景和黑色边缘化的问题
解决方法1:给listview加上android:scrollingCache=”false”属性 解决方法2:给listview加上android:cacheColorHint="#000 ...