程式設計與演算法(三)002 熱血格鬥場

2021-10-03 01:32:35 字數 1211 閱讀 5538

傳送門

總時間限制: 1000ms 記憶體限制: 65536kb

描述

為了迎接08年的奧運會,讓大家更加了解各種格鬥運動,facer新開了一家熱血格鬥場。格鬥場實行會員制,但是新來的會員不需要交入會費,而只要同一名老會員打一場表演賽,證明自己的實力。

我們假設格鬥的實力可以用乙個正整數表示,成為實力值。另外,每個人都有乙個唯一的id,也是乙個正整數。為了使得比賽更好看,每乙個新隊員都會選擇與他實力最為接近的人比賽,即比賽雙方的實力值之差的絕對值越小越好,如果有兩個人的實力值與他差別相同,則他會選擇比他弱的那個(顯然,虐人必**好)。

不幸的是,facer一不小心把比賽記錄弄丟了,但是他還保留著會員的註冊記錄。現在請你幫facer恢復比賽紀錄,按照時間順序依次輸出每場比賽雙方的id。

輸入

第一行乙個數n(0 < n <=100000),表示格鬥場新來的會員數(不包括facer)。以後n行每一行兩個數,按照入會的時間給出會員的id和實力值。一開始,facer就算是會員,id為1,實力值1000000000。輸入保證兩人的實力值不同。

輸出

n行,每行兩個數,為每場比賽雙方的id,新手的id寫在前面。

樣例輸入

32 1

3 34 2

樣例輸出

2 13 2

4 2**如下:

#include

#include

using

namespace std;

map<

int,

int> m;

typedef map<

int,

int> mm;

//把攻擊力作為關鍵字first

mm::iterator it,pr,ne;

//3個迭代器,分別指向前一,當前,後一

intmain()

else

if(it==m.

end())

//情況2:該會員關鍵字排序最大,只可與他前一位pk

else

//情況3: 攻擊力位於中間,需比較此會員前後會員攻擊力

}return0;

}

第一篇部落格,不足請包涵,大家可以一起**啊^^

C map 002 熱血格鬥場

描述 為了迎接08年的奧運會,讓大家更加了解各種格鬥運動,facer新開了一家熱血格鬥場。格鬥場實行會員制,但是新來的會員不需要交入會費,而只要同一名老會員打一場表演賽,證明自己的實力。我們假設格鬥的實力可以用乙個正整數表示,成為實力值。另外,每個人都有乙個唯一的id,也是乙個正整數。為了使得比賽更...

c 程式設計練習 042 熱血格鬥場

北大程式設計與演算法 三 測驗題彙總 2020春季 為了迎接08年的奧運會,讓大家更加了解各種格鬥運動,facer新開了一家熱血格鬥場。格鬥場實行會員制,但是新來的會員不需要交入會費,而只要同一名老會員打一場表演賽,證明自己的實力。我們假設格鬥的實力可以用乙個正整數表示,成為實力值。另外,每個人都有...

程式設計與演算法(三)多型 作業

答案 include using namespace std class b void fun b int n class d public b int main d fun b fun d fun nbval 2 nbval 24 ndval 8 b fun nbval 12 include us...