#P2511. The Top Shelf
The Top Shelf
题目描述
戴夫·约翰逊是一位藏书家。多年来,他收藏的书籍数量众多,因此决定购买一些新书架。他购买了足够多不同品质的书架来容纳所有书籍。但有一个问题:他想将自己最喜欢的书放在最好书架的顶层进行特别展示。这个书架最多可以容纳10本书。
这通常是一项简单的任务,但戴夫对展示这些书的方式有特殊要求:
- 书籍必须按书名的字母顺序排序。
- 任意两本相邻的书,其书名中同一位置的字母不能相同(仅考虑字母字符,忽略空格、撇号等,且不区分大小写)。
例如,书名《Portnoy's Complaint》的第8个字母是's',第9个是'c';《One Flew Over The Cuckoo's Nest》与《The Grapes Of Wrath》不能相邻,因为两本书名的第三个字母均为'e'。
为了帮助做出决策,戴夫为每本书赋予了一个情感价值。给定书籍列表(包含书名和情感价值),你的任务是帮助戴夫确定顶层书架应放置哪些书,使得总情感价值最大。
输入格式
- 输入包含一个测试用例。
- 第一行是整数 ( N )(( 10 \leq N \leq 2500 )),表示候选书籍数量。
- 接下来 ( N ) 行,每行包含整数 ( E ) 和字符串 ( S ),分别表示书籍的情感价值和书名。
- ( S ) 可能包含任意数量的空格,但长度不超过30字符,且至少包含一个字母字符。
输出格式
- 第一行输出书架上的书籍数量 ( M )。
- 第二行输出总情感价值。
- 接下来 ( M ) 行按字典序输出书名(若有多个解,输出任意一个即可)。
输入示例 1
12
117 The Pearl
42 L'Etranger
135 Hamlet
100 War And Peace
55 The Prince
175 Of Mice And Men
200 The Grapes Of Wrath
120 Ulysses
87 For Whom The Bell Tolls
10 Oliver Twist
50 Snow Crash
110 Great Expectations
输出示例 1
8
969
For Whom The Bell Tolls
Great Expectations
Hamlet
L'Etranger
Of Mice And Men
The Grapes Of Wrath
Ulysses
War And Peace