Stones

Time Limit: 5000/3000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)
Total Submission(s): 1373    Accepted Submission(s): 858

Problem Description
Because of the wrong status of the bicycle, Sempr begin to walk east to west every morning and walk back every evening. Walking may cause a little tired, so Sempr always play some games this time.
There are many stones on the road, when he meet a stone, he will throw it ahead as far as possible if it is the odd stone he meet, or leave it where it was if it is the even stone. Now give you some informations about the stones on the road, you are to tell me the distance from the start point to the farthest stone after Sempr walk by. Please pay attention that if two or more stones stay at the same position, you will meet the larger one(the one with the smallest Di, as described in the Input) first.
 
Input
In the first line, there is an Integer T(1<=T<=10), which means the test cases in the input file. Then followed by T test cases.
For each test case, I will give you an Integer N(0<N<=100,000) in the first line, which means the number of stones on the road. Then followed by N lines and there are two integers Pi(0<=Pi<=100,000) and Di(0<=Di<=1,000) in the line, which means the position of the i-th stone and how far Sempr can throw it.
 
Output
Just output one line for one test case, as described in the Description.
 
Sample Input
2 2 1 5 2 4 2 1 5 6 6
 
Sample Output
11 12
题意:按照见的第几个石子,第奇数个石子扔,同一位置的石子需按照扔的远近从小到大排序;所以用到优先队列;
代码:
 #include<stdio.h>
#include<queue>
using namespace std;
struct Node{
int position,dis;
friend bool operator < (Node a,Node b){
if(a.position!=b.position)return a.position>b.position;
else return a.dis>b.dis;
}
};
int main(){
int T,N,k;
Node m;
scanf("%d",&T);
while(T--){k=;priority_queue<Node>stone;
scanf("%d",&N);
while(N--)scanf("%d%d",&m.position,&m.dis),stone.push(m);
while(!stone.empty()){k++;
if(k&)m=stone.top(),m.position+=m.dis,stone.push(m);
stone.pop();
if(stone.empty())printf("%d\n",stone.top().position);
}
}
return ;
}

Stones(优先队列)的更多相关文章

  1. E - Stones 优先队列

    来源1896 Because of the wrong status of the bicycle, Sempr begin to walk east to west every morning an ...

  2. Stones 优先队列

    Because of the wrong status of the bicycle, Sempr begin to walk east to west every morning and walk ...

  3. Hdu1896 Stones(优先队列) 2017-01-17 13:07 40人阅读 评论(0) 收藏

    Stones Time Limit : 5000/3000ms (Java/Other)   Memory Limit : 65535/32768K (Java/Other) Total Submis ...

  4. HDU 1896 Stones (优先队列)

    Problem Description Because of the wrong status of the bicycle, Sempr begin to walk east to west eve ...

  5. HDU 1896 Stones --优先队列+搜索

    一直向前搜..做法有点像模拟.但是要用到出队入队,有点像搜索. 代码: #include <iostream> #include <cstdio> #include <c ...

  6. HDU 1896:Stones(优先队列)

    Stones Time Limit: 5000/3000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Total Sub ...

  7. hdoj 1896 Stones【优先队列】

    Stones Time Limit: 5000/3000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)Total Subm ...

  8. HDU 1896 Stones(优先队列)

    还是优先队列 #include<iostream> #include<cstdio> #include<cstring> #include<queue> ...

  9. HDU 1896 Stones (优先队列)

    Stones Time Limit: 5000/3000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)Total Subm ...

随机推荐

  1. UITextField输入长度限制

    [_yourTextField addTarget:self action:@selector(eventEditingChange:) forControlEvents:UIControlEvent ...

  2. Eat Candy(暴力,水)

    Eat Candy Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 8  Solved: 6[Submit][Status][Web Board] Des ...

  3. ie6+7+8等对background-color:rgba(),background-img渐变的兼容

    一,ie8兼容rgba()的解决办法 今天遇到了一个问题,要在一个页面中设置一个半透明的白色div.这个貌似不是难题,只需要给这个div设置如下的属性即可: background: rgba(255, ...

  4. 函数内部用setTimeout()调用自身函数相当于setInterval()

    本来setTimeout(function(){},time)只执行了一次function,但是当 function demo() { alert(1); setTimeout('demo()' ,5 ...

  5. iOS_block内存分析

    ----------------------MRC情况下Block内存分析---------------------------- 1.如果在block中使用全局变量,他为了持有这个变量,会将对应的对 ...

  6. Python学习笔记1(基础语法)

    1.Python的文件类型: 源代码:扩展名以py结尾.python写的程序不需要编译成二进制代码,可以直接运行.pyw是Windows下开发图形界面的源文件. 字节代码:扩展名以pyc结尾,是编译过 ...

  7. build opencv with python support

    cmake -DPYTHON_LIBRARY=/opt/anaconda/lib/libpython2.7.so -DPYTHON_INCLUDE_DIR=/opt/anaconda/include/ ...

  8. 创建ListView的基本步骤

    参考<疯狂android讲义>第2.5节P94 1.创建一个或者多个ListView <LinearLayout xmlns:android="http://schemas ...

  9. 关于反射中获取Fields,method,Construts简单介绍

    * getFields()与getDeclaredFields()区别:getFields()只能访问类中声明为公有的字段,私有的字段它无法访问,能访问从其它类继承来的公有方法.getDeclared ...

  10. Sublime text3使用技巧及快捷键

    一.快速查找文件Crtl+P(Goto->Goto Anyghing) 在打开的搜索框中输入文件名按Enter键即可. 提示:1.支持文件夹+文件名的搜索,比如 "js/main.js ...