300745: CF141C. Queue

Memory Limit:256 MB Time Limit:2 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

Queue

题意翻译

在 $Berland$中央银行 有 $n$ 个人在排队,站成一列。每个人都知道自己和队列中其他人的身高。每个人心中还记得一个数 $a$ :站在自己前面且比自己高的人数。 过了一会儿收银员去吃午餐,这些人就到休息室里等候。等收银员回来的时候,大家意识到已经没有人记得队列的确切排列顺序了。所幸大家都还记得自己的 $a$ 。 你的任务是——在可能的情况下——帮助大家找到之前的队列排列顺序。可能有很多种,你只需要找到一种。而且,你还要为每个人设计一个符合条件的身高。 输入: 第一行一个数 $n$ 代表人数,以后的 $n$ 行每行输入一个字符串代表人名,后面跟着一个 $a$ 。 输出: 如果没有满足条件的情况,输出 ```-1```。如果有满足条件的情况,输出一种。分为 $n$ 行,每行一个字符串代表人名,后面跟着一个数代表身高。

题目描述

In the Main Berland Bank $ n $ people stand in a queue at the cashier, everyone knows his/her height $ h_{i} $ , and the heights of the other people in the queue. Each of them keeps in mind number $ a_{i} $ — how many people who are taller than him/her and stand in queue in front of him. After a while the cashier has a lunch break and the people in the queue seat on the chairs in the waiting room in a random order. When the lunch break was over, it turned out that nobody can remember the exact order of the people in the queue, but everyone remembers his number $ a_{i} $ . Your task is to restore the order in which the people stood in the queue if it is possible. There may be several acceptable orders, but you need to find any of them. Also, you need to print a possible set of numbers $ h_{i} $ — the heights of people in the queue, so that the numbers $ a_{i} $ are correct.

输入输出格式

输入格式


The first input line contains integer $ n $ — the number of people in the queue ( $ 1<=n<=3000 $ ). Then $ n $ lines contain descriptions of the people as " $ name_{i} $ $ a_{i} $ " (one description on one line), where $ name_{i} $ is a non-empty string consisting of lowercase Latin letters whose length does not exceed $ 10 $ characters (the $ i $ -th person's name), $ a_{i} $ is an integer ( $ 0<=a_{i}<=n-1 $ ), that represents the number of people who are higher and stand in the queue in front of person $ i $ . It is guaranteed that all names are different.

输出格式


If there's no acceptable order of the people in the queue, print the single line containing "-1" without the quotes. Otherwise, print in $ n $ lines the people as " $ name_{i} $ $ h_{i} $ ", where $ h_{i} $ is the integer from $ 1 $ to $ 10^{9} $ (inclusive), the possible height of a man whose name is $ name_{i} $ . Print the people in the order in which they stand in the queue, starting from the head of the queue and moving to its tail. Numbers $ h_{i} $ are not necessarily unique.

输入输出样例

输入样例 #1

4
a 0
b 2
c 0
d 0

输出样例 #1

a 150
c 170
d 180
b 160

输入样例 #2

4
vasya 0
petya 1
manya 3
dunay 3

输出样例 #2

-1

Input

题意翻译

在 $Berland$中央银行 有 $n$ 个人在排队,站成一列。每个人都知道自己和队列中其他人的身高。每个人心中还记得一个数 $a$ :站在自己前面且比自己高的人数。 过了一会儿收银员去吃午餐,这些人就到休息室里等候。等收银员回来的时候,大家意识到已经没有人记得队列的确切排列顺序了。所幸大家都还记得自己的 $a$ 。 你的任务是——在可能的情况下——帮助大家找到之前的队列排列顺序。可能有很多种,你只需要找到一种。而且,你还要为每个人设计一个符合条件的身高。 输入: 第一行一个数 $n$ 代表人数,以后的 $n$ 行每行输入一个字符串代表人名,后面跟着一个 $a$ 。 输出: 如果没有满足条件的情况,输出 ```-1```。如果有满足条件的情况,输出一种。分为 $n$ 行,每行一个字符串代表人名,后面跟着一个数代表身高。

加入题单

上一题 下一题 算法标签: