zoukankan      html  css  js  c++  java
  • HDU 4585 Shaolin (STL)

    没想到map还有排序功能,默认按照键值从小到大排序


    #include <cstdio>
    #include <iostream>
    #include <cstring>
    #include <cmath>
    #include <map>
    #include <algorithm>
    #include <cstdlib>
    using namespace std;
    
    int main() {
        int n;
        int id,g;
        while(scanf("%d",&n) && n) {
            map<int,int>m;
            m[1000000000] = 1;
            for(int i=1; i<=n; ++i) {
                scanf("%d%d",&id,&g);
                printf("%d ",id);
                map<int,int> ::iterator it;
                it = m.lower_bound(g); // 二分找第一个大于等于g的位置,如果没有,则返回末尾位置
                if(it == m.end()) {
                    it -- ;
                    printf("%d
    ",it->second);
                } else {
                    if(it == m.begin()) {
                        printf("%d
    ",it->second);
                    } else {
                        int pos = it->first;
                        int tmp = it->second;
                        it --;
                        printf("%d
    ",(pos - g) < (g - it->first) ? tmp : it->second);
                    }
                }
                m[g] = id;
            }
        }
        return 0;
    }



  • 相关阅读:
    js中的面向对象
    js 定时器
    js中 关于DOM的事件操作
    js 函数
    js流程控制;常用内置对象
    js数据类型基础
    js基础语法
    js初识
    css 选择器;盒模型
    软件系统建模之用例视图
  • 原文地址:https://www.cnblogs.com/keanuyaoo/p/3257866.html
Copyright © 2011-2022 走看看