300395: CF75B. Facetook Priority Wall

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

Description

Facetook Priority Wall

题意翻译

Facetook 是一个知名的社交网站,它将推出一个名为 Facetook Priority Wall 的新功能。这一功能将根据优先级因子对你朋友的所有帖子进行排序。 优先级因子将受到三种行为的影响: 1. ```"X posted on Y's wall"``` (15 分), 2. ```"X commented on Y's post"``` (10 分), 3. ```"X likes Y's post"``` (5 分). $X$ 和 $Y$ 是两个不同的名字。每一种行为都会使 $X$ 和 $Y$ 之间的优先级因子增加对应分数 ($X$ 和 $Y$ 之间的优先级因子与 $Y$ 和 $X$ 之间的优先级因子相同) 。 给定 $n$ 个上述格式的行为(没有行为序号和行为分数),你要将所有除自己名字以外的名字按照优先级因子打印出来。 【输入格式】 第一行输入包含你的名字。第二行输入包含一个整数 $n$ 代表行为数。 接下来有 $n$ 行输入,保证每个行为都是上面给出的格式中的一个操作。一行中的两个单词之间只有一个空格,没有多余的空格。所有的字母都是小写的。 输入的所有名称将由至少一个字母和最多 10 个小写拉丁字母组成。 【输出格式】 输出 $m$ 行, $m$ 是所有不同名字的数量(不包括你自己的名字)。每行只包含一个名字。名字要按照优先级因子。 降序顺序排列(优先级因子分数高的排前面)。如果有同分情况,按照名字的词典编纂的字母序排列。

题目描述

Facetook is a well known social network website, and it will launch a new feature called Facetook Priority Wall. This feature will sort all posts from your friends according to the priority factor (it will be described). This priority factor will be affected by three types of actions: - 1. " $ X $ posted on $ Y $ 's wall" (15 points), - 2. " $ X $ commented on $ Y $ 's post" (10 points), - 3. " $ X $ likes $ Y $ 's post" (5 points). $ X $ and $ Y $ will be two distinct names. And each action will increase the priority factor between $ X $ and $ Y $ (and vice versa) by the above value of points (the priority factor between $ X $ and $ Y $ is the same as the priority factor between $ Y $ and $ X $ ). You will be given $ n $ actions with the above format (without the action number and the number of points), and you have to print all the distinct names in these actions sorted according to the priority factor with you.

输入输出格式

输入格式


The first line contains your name. The second line contains an integer $ n $ , which is the number of actions ( $ 1<=n<=100 $ ). Then $ n $ lines follow, it is guaranteed that each one contains exactly 1 action in the format given above. There is exactly one space between each two words in a line, and there are no extra spaces. All the letters are lowercase. All names in the input will consist of at least 1 letter and at most 10 small Latin letters.

输出格式


Print $ m $ lines, where $ m $ is the number of distinct names in the input (excluding yourself). Each line should contain just 1 name. The names should be sorted according to the priority factor with you in the descending order (the highest priority factor should come first). If two or more names have the same priority factor, print them in the alphabetical (lexicographical) order. Note, that you should output all the names that are present in the input data (excluding yourself), even if that person has a zero priority factor. The lexicographical comparison is performed by the standard "<" operator in modern programming languages. The line $ a $ is lexicographically smaller than the line $ b $ , if either $ a $ is the prefix of $ b $ , or if exists such an $ i $ ( $ 1<=i<=min(|a|,|b|) $ ), that $ a_{i}&lt;b_{i} $ , and for any $ j $ ( $ 1<=j&lt;i $ ) $ a_{j}=b_{j} $ , where $ |a| $ and $ |b| $ stand for the lengths of strings $ a $ and $ b $ correspondently.

输入输出样例

输入样例 #1

ahmed
3
ahmed posted on fatma's wall
fatma commented on ahmed's post
mona likes ahmed's post

输出样例 #1

fatma
mona

输入样例 #2

aba
1
likes likes posted's post

输出样例 #2

likes
posted

Input

题意翻译

Facetook 是一个知名的社交网站,它将推出一个名为 Facetook Priority Wall 的新功能。这一功能将根据优先级因子对你朋友的所有帖子进行排序。 优先级因子将受到三种行为的影响: 1. ```"X posted on Y's wall"``` (15 分), 2. ```"X commented on Y's post"``` (10 分), 3. ```"X likes Y's post"``` (5 分). $X$ 和 $Y$ 是两个不同的名字。每一种行为都会使 $X$ 和 $Y$ 之间的优先级因子增加对应分数 ($X$ 和 $Y$ 之间的优先级因子与 $Y$ 和 $X$ 之间的优先级因子相同) 。 给定 $n$ 个上述格式的行为(没有行为序号和行为分数),你要将所有除自己名字以外的名字按照优先级因子打印出来。 【输入格式】 第一行输入包含你的名字。第二行输入包含一个整数 $n$ 代表行为数。 接下来有 $n$ 行输入,保证每个行为都是上面给出的格式中的一个操作。一行中的两个单词之间只有一个空格,没有多余的空格。所有的字母都是小写的。 输入的所有名称将由至少一个字母和最多 10 个小写拉丁字母组成。 【输出格式】 输出 $m$ 行, $m$ 是所有不同名字的数量(不包括你自己的名字)。每行只包含一个名字。名字要按照优先级因子。 降序顺序排列(优先级因子分数高的排前面)。如果有同分情况,按照名字的词典编纂的字母序排列。

加入题单

算法标签: