NYOJ 504 课程设计(贪心)
来源:互联网 发布:c语言创始人 编辑:程序博客网 时间:2024/05/22 01:14
OJ题目:click here~~
题意分析:要使得所选课程设计的时间差最小,贪心的思想,排序中位置越靠近,时间差越小。所以,对时间进行排序,然后枚举,选择距离最近的n个不同人的时间,这n个中,最后一个与第一个的时间差,就是本次选择的时间差。枚举,取最小值。
AC_CODE
struct Node{ int id; int time; Node(){} Node(int i , int j ):id(i),time(j){} friend bool operator<(const Node &A , const Node &B)//耗费的时间从小到大排序 { return A.time < B.time; }};Node x[2002];int f[202];int main(){ int t , n, m; cin >> t; while(t--) { scanf("%d%d",&n,&m); memset(f , 0 , sizeof(f)); int i , j , k , a , b , t , minx = 1<<30; k = 0; for(i = 0;i < n;i++) for(j = 0;j < m;j++) { scanf("%d",&a); x[k++] = Node(i , a); } sort(x , x + k);//时间从小到大排序 for(i = 0;i < k;i++) { t = 0; for(j = i;j < k;j++) { if(!f[x[j].id]) { f[x[j].id] = 1; t++; } if(t == n) break;//如果已经选中n个人,则本次选择结束 } if(t == n && (x[j].time - x[i].time) < minx) minx = x[j].time - x[i].time; memset(f , 0 , sizeof(f)); } cout << minx << endl; } return 0;}
0 0
- NYOJ 504 课程设计(贪心)
- NYOJ-287 Radar(贪心)
- nyoj 915 +-字符串(贪心)
- NYOJ-背包问题(贪心)
- nyoj 疯牛(二分+贪心)
- nyoj-背包问题(贪心)
- nyoj-2357 插塔憋憋乐(贪心)
- NYOJ 喷水装置(一) (贪心)
- NYOJ 喷水装置(二) (贪心)
- NYOJ 30 Gone Fishing(枚举+贪心)
- NYOJ 364 田忌赛马 (贪心)
- NYOJ 30Gone Fishing(贪心)
- nyoj 14 会场安排问题 (贪心)
- NYOJ-47 过河问题(贪心)
- NYOJ-364 田忌赛马(贪心)
- nyoj 疯牛(二分搜索+贪心)
- nyoj-680(摘枇杷) 贪心 + 二分
- NYOJ 47 过河问题 (贪心)
- C++中使用Json
- 有关C#中字符串拼接和截取
- Netty源码学习-Java-NIO-Reactor
- 《Java解惑》系列——01表达式之谜——谜题02:找零时刻
- IcePhp框架的改进:增加了多模块的支持,完善命令行调用
- NYOJ 504 课程设计(贪心)
- 使用Spring MVC统一异常处理实战
- 记录下我查了这几天的资料
- 类加载器泄露(tomcat ) 文章收集
- NSUserDefaults保存或传递数据
- ZOJ 3778 Talented Chef (贪心+二分)
- 代码面试最常用的10大算法
- S3C6410平台下DM9000AEP LINUX 2.6.28 驱动
- android初学------设置ViewGrop下面的控件失效