题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4585

题意:

第一个人ID为1,战斗力为1e9。

给定n,给出n个人的ID和战斗力。

每个人必须和战斗力最接近他的人战斗,如果一样接近就和ID小的人战斗。

注意:不建议在比较时用很多it--和it++

#include<bits/stdc++.h>
using namespace std;
int main()
{
int n;
while(cin>>n&&n)
{
map<int,int>mp;
mp[1e9]=;
for(int i=;i<n;i++)
{
int k,g;
cin>>k>>g;
mp[g]=k;
map<int,int>::iterator it=mp.find(g),it2,it3;
it2=it;it2++;
it3=it;it3--;
if(it==mp.begin())cout<<k<<" "<<it2->second<<endl;
else if(it==mp.end())cout<<k<<" "<<it3->second<<endl;
else
{
int tmp=it->first,tmp2=it2->first,tmp3=it3->first; if(abs(tmp3-tmp)<=abs(tmp-tmp2))cout<<k<<" "<<it3->second<<endl;
else cout<<k<<" "<<it2->second<<endl;
}
}
}
return ;
}

hdu4585Shaolin的更多相关文章

随机推荐

  1. jenkins里的定时构建

    1. 定时构建语法:* * * * * (五颗星,多个时间点,中间用逗号隔开)第一个*表示分钟,取值0~59第二个*表示小时,取值0~23第三个*表示一个月的第几天,取值1~31第四个*表示第几月,取 ...

  2. Python数据可视化之matplotlib

    常用模块导入 import numpy as np import matplotlib import matplotlib.mlab as mlab import matplotlib.pyplot ...

  3. tp5验证码的使用

    <div><img id="verify_img" src="{:captcha_src()}" alt="验证码" on ...

  4. PHP 提交复选框数据

    PHP 提交复选框数据 前台,name要加 []: <input type="checkbox" name="cate[]" value="ca ...

  5. nyoj 4 ASCII码排序

    ASCII码排序 时间限制:3000 ms  |  内存限制:65535 KB | 难度:2   描述 输入三个字符(可以重复)后,按各字符的ASCII码从小到大的顺序输出这三个字符.   输入 第一 ...

  6. volatile变量能保证线程安全性吗?为什么?

    在谈及线程安全时,常会说到一个变量——volatile.在<Java并发编程实战>一书中是这么定义volatile的——Java语言提供了一种稍弱的同步机制,即volatile变量,用来确 ...

  7. 逆向libbaiduprotect(二)

    首先要确保你所使用的gdb和gdbserver是配对的,最好(或必须)是sdk内相同platform(api level)下的gdb和gdbserver.否则你使用的gdb可能与运行测试机上的gdbs ...

  8. 软件测试的原则,软件测试计划:5W1H

    1.测试应该尽早介入.        2.所有的测试都应追溯到用户需求.        3.程序员应该避免检查自己的程序.除了单元测试.因为程序员对于自己的作品,思维具有局限性.无法保证测试质量.交给 ...

  9. 学习记录:《C++设计模式——李建忠主讲》2.面向对象设计原则

    1.课程内容: 重新认识面向对象:面向对象设计原则: 2.重新认识面向对象 1)理解隔离变化:从宏观层面来看,面向对象的构建方式更能适应软件的变化,将变化所带来的影响减为最小: 2)各司其职:从微观层 ...

  10. ArrayList和LinkedList的源码学习,理解两者在插入、删除、和查找的性能差异

    List的使用 List的子类 1). ArrayList 数据结构:数组 2). Vector 数据结构:数组 3). LinkedList 数据结构:循环双向链表 ArrayList .Vecto ...