自定义优先队列
2015-06-07 14:04
211 查看
#include<stdio.h> #include<string.h> #include<queue> using namespace std; struct node { int place; int len; friend bool operator< (node a,node b) { if(a.place!=b.place) return a.place>b.place; else return a.len>b.len; } }; int main() { priority_queue<node>q; priority_queue<node>p; int i,j,t,n; node s; scanf("%d",&t); while(t--) { scanf("%d",&n); for(i=0;i<n;i++) { scanf("%d%d",&s.place,&s.len); q.push(s); } int odd=1; while(!q.empty()) { s=q.top(); q.pop(); if(odd) { s.place+=s.len; q.push(s); } odd=!odd; } printf("%d\n",s.place); /* while(scanf("%d",&n)!=EOF) { for(i=0;i<n;i++) { scanf("%d",&s.place); p.push(s); } while(!p.empty()) { s=p.top(); p.pop(); printf("%d ",s.place); } printf("\n"); }*/ } }
View Code
相关文章推荐
- PHP “Warning: session_start()...” 的解决方法
- 为什么我们常说很多时候一定要亲身经历了之后才能明白?
- House Robber
- Wrong FS: hdfs://......, expected: file:///
- 《浦岛太郎》——太宰治
- springMVC学习笔记汇总(持续更新)
- Objective-C 给分类添加属性——关联对象
- Java语言描述:递归与分治策略之全排列问题
- RMAN备份与恢复 —— 参数文件还原
- 如何有效地记忆与学习
- js和jquery ajax的使用
- python中实现二分查找,插入排序,归并排序,快速排序
- 数据库表分割技术浅析(水平分割/垂直分割/库表散列)
- Java中static关键字的作用及用法
- LeetCode Count Complete Tree Nodes
- [转]CentOS设置程序开机自启动的方法
- Lambda 表达式(C# 编程指南)
- CSS3实现各种格子纹理效果
- CoPilot O
- 《汇编语言》学习笔记 第三章 寄存器(内存访问)