hdu 2831 plants VS zombies
2015-10-01 20:27
429 查看
#include<iostream> #include<cstring> #include<cstdio> #include<algorithm> using namespace std; //这道题属于贪心,那么我们首先就是对数据进行排序,所以我们先要找到以什么为标准进行排序 //我们可以由题意理解到,解决一个僵尸所需要的时间是T+Di,那么接下来就是判断T+Di<Vi是否成立,如果成立 //则可以解决僵尸,否则不能解决僵尸 // 以上是一个僵尸的判断 //接下来要在前一个的基础上进行判断,那么此时所花费的时候便是T,判断第二个的时候就是判断T+T+Di<Vi是否成立 struct node { int v,d; int index; }edge[11000]; int cmp(node a,node b) { return (a.v-a.d)<(b.v-b.d); } int main() { int i; int flag; int n,t; int temp; while(scanf("%d%d",&n,&t)!=EOF) { flag=0; for(i=1;i<=n;i++) { scanf("%d%d",&edge[i].v,&edge[i].d); edge[i].index=i; } int temp=t; sort(edge+1,edge+1+n,cmp); for(i=1;i<=n;i++) { if(edge[i].v-edge[i].d<t) { flag=1; break; } t+=temp; } if(flag) { printf("The zombies eat your brains!\n"); continue; } for(i=1;i<=n;i++) { i==1?printf("%d",edge[i].index):printf(" %d",edge[i].index); } printf("\n"); } return 0; }
相关文章推荐
- POJ 1503 Integer Inquiry 美丽的大整数相加 + 测试数据
- 计算机网络常识
- Swift1_关闭
- Activity的生命周期
- Linux学习笔记――DNS与BIND
- 黑马程序员-----多线程
- iOS软件开发 类目延展协议的使用
- Ubuntu下useradd使用笔记
- 计算机系统常识
- Java Comparator 排序
- ${pageContext.request.contextPath }
- Java 调用dll
- linux C守护进程编写http://www.cnblogs.com/ringwang/p/3528093.html
- 不要用memcmp比较structure
- iOS 多线程的使用情况
- 常用中文字体 Unicode 编码
- 有符号数和无符号数的移位区别
- Linux守护进程设计规范及python实现http://blog.csdn.net/dysj4099/article/details/18219411
- 剑指offer - 包含min函数的栈
- 黑马程序员——面向对象之异常(二)