HDU4329

Posted Militant_799

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDU4329相关的知识,希望对你有一定的参考价值。

#include<cstdio>
#include<algorithm>
#include<map>
using namespace std;
int main()
{
    map<int ,int>mp;
    int n;
    while(~scanf("%d",&n)&&n)
    {
        int id,fg;
        mp[1000000000]=1;
        for(int i=0; i<n; i++)
        {
           scanf("%d %d",&id,&fg);
            mp[fg]=id;
            map<int ,int>::iterator it=mp.find(fg),it1;
            if(it==mp.begin())
                printf("%d %d\n",id,(++it)->second);
            else
            {
                it1=it;
                if(abs((--it)->first-fg)<=abs((++it1)->first-fg))
                    printf("%d %d\n",id,(it)->second);
                else
                  printf("%d %d\n",id,(it1)->second);

            }
        }
        mp.clear();

    }
    return 0;
}

map是有序的好处

以上是关于HDU4329的主要内容,如果未能解决你的问题,请参考以下文章

HDU4329

HDU 4329 MAP(stringstream的用法)

uvalive4329(树状数组)

LA4329:Ping pong(树状数组)

Luogu_4329 [COCI2006-2007#1] Bond

[UVALive4329] Ping pong(树状数组,组合)