Stones(优先队列)
来源:互联网 发布:淘宝淘积木 编辑:程序博客网 时间:2024/06/07 06:08
原题
题意:奇数石头扔出去, 偶数石头忽略,相同位置的石头,先选择沉的,即能扔的距离比较近的。直到忽略最后一个为止,看一共走了多远。
思路:建一个优先队列,装进所有的元素,偶数石头pop掉,直到队列为空为止。
#include<iostream>#include<queue>using namespace std;#define max 100000struct stone{int pos, dis;bool operator < (const stone &a) const{if(pos==a.pos)//先比较位置,位置一样比较距离。return dis>a.dis;return pos>a.pos;}};struct stone a[max], b;int main(){priority_queue<stone> q;int T, n;cin>>T;while(T--){int cnt=0, maxDis=0;cin>>n;for(int i=1; i<=n; i++){cin>>a[i].pos>>a[i].dis;q.push(a[i]);}while(!q.empty()){maxDis=q.top().pos;if(++cnt % 2 ==0)q.pop();else {b=q.top();//奇数时,一定要先取出来,编辑完再放进去。q.pop();b.pos+=b.dis;q.push(b);}}cout<<maxDis<<endl;} return 0;}
本人语拙,不懂地方,尽请留言,如有不足,不吝赐教。
阅读全文
0 0
- Stones(优先队列)
- Stones(优先队列)
- Stones(hdu1896)优先队列
- 1896 Stones(优先队列)
- HDOJ Stones (优先队列)
- hd1896 Stones(队列优先)
- HDU Stones(优先队列)
- HDU 1896 -- Stones (优先队列)
- 杭电1896 Stones(优先队列)
- hdu1896 Stones(优先队列水)
- HDU 1896 Stones(优先队列)
- HDOJ 1896 Stones(优先队列)
- 【HDU]-1896-Stones(优先队列,好)
- HDU:1896 Stones(优先队列)
- 杭电-1896 Stones(优先队列)
- HDU 1896 Stones (优先队列)
- hdu--1896Stones(优先队列)
- HDU 1896:Stones(优先队列)
- vue axios用法
- HPU2017-2016级暑期集训练习赛
- C语言-printf()和scanf()中*的作用
- STL 常用操作指令和内建函数
- leetcode 155. Min Stack | 空间换时间
- Stones(优先队列)
- [leetcode]529. Minesweeper
- 文章标题
- 快学Scala习题解答—第二章 控制结构和函数
- Minigame Learning for Day 1
- msfencode的基本使用
- Linux 包管理 yum / apt-get / rpm / dpkg / wget
- vue 配置babel
- 树的深度和广度遍历(JavaScript版)