最近,发现了一道有趣的题目,正好在学STL,就拿出来给大家看看:
热血格斗场
总时间限制:1000Ms 内存限制 :65536kB
描述:为迎接08年的奥运会,让大家更加了解各种格斗运动,facer新开了一家热血格斗场.格斗场实行会员制,但是新来的会员不用交入会,而只要同一名老会员打一场表演赛,证明自己的实力.
假设格斗的实力可以用一个正整数表示,称为实力值,两人的实力值可以相同,另外,每一个人都 * 有一个唯一的ID,也是一个正整数.为了使得比赛更好看每一个新会员都会选择一个与他实力最为接近的人比赛,即比赛双方的实力值之差的绝对值越小越好,如果有多个人与他差别相同,则他会选择更弱的一个(显然,虐人总比被虐好).
不幸的是,Facer一不小心把比赛记录弄丢了,但他还是保留着会员的注册 记录.现在请你回复比赛记录,按照时间顺序依次*输出每场比赛双方的id *
输入:第一行一个数n(0 < n <100000),表示格斗场新来的会员数(不包括Facer). *
以后n行每一行两个数,按照入会的时间给出会员的id和实力值.一开始,Facer就算是会员,id为1,实力值1000000000. 输出:N行,每行两个数,为每场比赛双方的id,新手的id写在前面

读完了题目,我们可以知道,这题用map做简单一些,所以,写好的源代码如下:

#include <algorithm> //算法的英文
#include <iostream>  //C++标准输入输出流
#include <sstream>   //stringstream,string输入输出流
#include <map>       //C++STL中的一个容器
using namespace std;
int main()
{map<int,int> mp;//map <实力值,会员id> mp; map<int,int>::iterator it; //老会员迭代器 int n,t,id,id2,p;//id新会员,id2老会员,p实力值 stringstream out;//保存结果cin>>n;mp[1000000000] = 1;//Facerfor(int i=1;i<=n;i++){cin>>id>>p;//新会员id,实力值 it=mp.lower_bound(p);//查找和新会员实力值最接近的,返回>=p的会员位置 if(it==mp.end())//如果新会员的实力最大 {it--;}t=abs(it->first-p);//实力差 id2=it->second;//老会员id2 if(it!=mp.begin())//如果 {it--;if(abs(it->first-p)<t || (abs(it->first-p)==t && it->second<id2)){id2=it->second;}}out<<id<<" "<<id2<<endl;it=mp.find(p);if(it==mp.end())mp[p]=id;}cout<<endl<<out.str();return 0;
}

程序就是这些!欢迎关注留言评论素质三连哦 ~

C++ : 热血格斗场相关推荐

  1. 冰火两重天版格斗场(热血格斗场+冷血格斗场)

    062:热血格斗场​​​​​​​ 总时间限制:         1000ms                                内存限制:         65536kB 描述: 为了迎接 ...

  2. NOI 3343 NOI3344热血和冷血格斗场

    注意先做的热血格斗场,冷血的思路相同. 题目来源 (OPENJUDGE)NOI3343:热血格斗场  http://noi.openjudge.cn/ch0309/3343/ 总时间限制: 1000m ...

  3. 热血格斗传说起名字的学问!

    2019独角兽企业重金招聘Python工程师标准>>> 貌似FC上的热血格斗传说,这个应该不需要我多解释和介绍了,今天我就谈谈里面起名字的学问,以前用卡带玩的时候研究的,暂时百度过没 ...

  4. openjudge 3344 冷血格斗场

    描述 为了迎接08年的奥运会,让大家更加了解各种格斗运动,facer新开了一家冷血格斗场.格斗场实行会员制,但是新来的会员不需要交入会费,而只要同一名老会员打一场表演赛,证明自己的实力. 我们假设格斗 ...

  5. NOI 3.9 STL 3344:冷血格斗场

    题目来源:http://noi.openjudge.cn/ch0309/3344/ 3344:冷血格斗场 总时间限制: 1000ms    内存限制: 65536kB 描述 为了迎接08年的奥运会,让 ...

  6. NOI-OJ 3.9 ID:3344 冷血格斗场

    NOI-OJ 3.9 ID:3344 冷血格斗场 总时间限制: 1000ms 内存限制: 65536kB 描述 为了迎接08年的奥运会,让大家更加了解各种格斗运动,facer新开了一家冷血格斗场.格斗 ...

  7. c++编程练习 043:冷血格斗场

    北大程序设计与算法(三)测验题汇总(2020春季) 描述 为了迎接08年的奥运会,让大家更加了解各种格斗运动,facer新开了一家冷血格斗场.格斗场实行会员制,但是新来的会员不需要交入会费,而只要同一 ...

  8. 001: 冷血格斗场 (有重复second时的查找方法)

    001:冷血格斗场 http://cxsjsxmooc.openjudge.cn/2020t1sprint13/001/ 描述 为了迎接08年的奥运会,让大家更加了解各种格斗运动,facer新开了一家 ...

  9. openjudge3344 冷血格斗场 解题报告

    总时间限制: 1000ms 内存限制: 65536kB 描述 为了迎接08年的奥运会,让大家更加了解各种格斗运动,facer新开了一家冷血格斗场.格斗场实行会员制,但是新来的会员不需要交入会费,而只要 ...

  10. OpenJudge-NOI/3.9数据结构之C++STL-3344:冷血格斗场

    3344:冷血格斗场 总时间限制:1000ms 内存限制:65536kB 描述 为了迎接08年的奥运会,让大家更加了解各种格斗运动,facer新开了一家冷血格斗场.格斗场实行会员制,但是新来的会员不需 ...

最新文章

  1. C++关键字union
  2. 腾讯二面:@Bean与@Component用在同一个类上,会怎么样?
  3. iOS App 崩溃报告符号化
  4. Microsoft Bot Framework 上手
  5. 二维数组中的查找问题
  6. 手游传奇架设教程_问道手游如何多开?
  7. 广州海珠区计算机学校,2019广州海珠区电脑派位和对口直升表
  8. cleanmymac 4.2_市委刚刚批准:11月1号立即执行! 农业银行存款利率4.2%,1万元存1年,有多少利息?...
  9. 基于nginx搭建直播,web播放视频方案
  10. 深度学习笔记_术语/缩写/基本概念
  11. jquery层级原则器(匹配前一个元素后的下一个元素,必须是挨着的)
  12. windows无法打开添加打印机_打印机常见故障机及处理方法
  13. BATH四巨头鼎立,中国云市场将走向何方?
  14. 【干货】Excel中的换行符,这几种用法你会哪些?
  15. 蘑菇街2016校园招聘第一个编程题
  16. CodeUp-1036 Problem B 镂空三角形
  17. javaScript 生成随机字母 随机数字的5种方法
  18. 小程序地图标记点自定义标签的实现
  19. 50台计算机教室多少带宽够,电脑工作室,200m宽带有几十根都是可以五拨的,用软路由多拨上网...
  20. 分享130个中国风PPT模板,总有一款适合你

热门文章

  1. Joyful Pandas--综合练习
  2. 飞马网饿了么技术沙龙大数据专场圆满结束
  3. 飞马D200S无人机与机载激光雷达在大比例尺DEM建设中的应用
  4. 火车头采集html5游戏,火车头采集工具Wed发布配置方法
  5. MySQL数据库的高级SQL语句
  6. 苏云技术导航网站源码 附后台
  7. 融云集成一个聊天室页面(vue版本)
  8. 比树莓派好的linux板子,华硕Tinker Board主打“比树莓派再好一点”的开发板
  9. 京东HBase平台进化与演进
  10. oracle中chr(39),oracle中chr含义