题目描述
第五人格抽奖宝箱被称为珍宝。某一赛季珍宝池中共有 n n n 件道具。道具不可以重复获得。因此,第一次抽出某道具,可以将该道具放入仓库。之后抽出该道具,不会将该道具放入仓库,而是给予一定的碎片补偿。
道具共有五种品质,分别为金色、紫色、蓝色、绿色与白色,不同品质道具给予的碎片补偿数量不同,具体数量如下表所示。
品质 | 碎片补偿数量 | 品质代号 |
---|---|---|
金色 | 2000 2000 2000 | 1 1 1 |
紫色 | 1000 1000 1000 | 2 2 2 |
蓝色 | 200 200 200 | 3 3 3 |
绿色 | 36 36 36 | 4 4 4 |
白色 | 6 6 6 | 5 5 5 |
某 E 一共抽了 k k k 次珍宝。现在告诉你珍宝池和某 E 的抽出道具情况,请问某 E 一共得到了多少碎片。
输入格式
输入共 n + k + 1 n+k+1 n+k+1 行。
输入的第一行为两个正整数 n , k n,k n,k,分别代表珍宝池中道具的数量和某 E 抽珍宝次数。
接下来 n n n 行,每行一个字符串和一个整数,分别代表道具的名称和品质代号。
接下来 k k k 行,每行一个字符串,代表某 E 抽到的道具的名称。数据保证对应名称的道具在上面的 n n n 个道具中出现过。
输出格式
输出一行一个整数,代表可以获得的碎片数量。
样例 #1
样例输入 #1
5 10
Legendary 1
Epic 2
Rare 3
Uncommon 4
Common 5
Common
Uncommon
Common
Common
Uncommon
Legendary
Uncommon
Common
Uncommon
Rare
样例输出 #1
126
提示
【数据规模与约定】
对于前 20 % 20\% 20% 的数据,保证 n , k ≤ 10 n, k \leq 10 n,k≤10。
对于另外 10 % 10\% 10% 的数据,保证 n = 1 n = 1 n=1。
对于另外 10 % 10\% 10% 的数据,保证 k = 1 k = 1 k=1。
对于另外 10 % 10\% 10% 的数据,所有的 n n n 件道具全部为金色品质。
对于 100 % 100\% 100% 的数据,保证 1 ≤ n ≤ 1000 , 1 ≤ k ≤ 5000 1 \leq n \leq 1000, 1 \leq k \le 5000 1≤n≤1000,1≤k≤5000。所有名字长度 ≤ 10 \leq 10 ≤10。名字仅由英文大小写字母构成。保证不同道具名字不同。
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int k = scanner.nextInt();
List<Item> itemList = new ArrayList<>();
for (int i = 0; i < n; i++) {
String name = scanner.next();
int order = scanner.nextInt();
Item item = new Item(name, order);
itemList.add(item);
}
int sum = 0;
for (int i = 0; i < k; i++) {
String name = scanner.next();
for (Item item : itemList) {
if (item.name.equals(name)) {
item.count++;
}
}
}
for (Item item : itemList) {
if (item.count > 1) {
if (item.order == 1) {
sum += (item.count - 1) * 2000;
} else if (item.order == 2) {
sum += (item.count - 1) * 1000;
} else if (item.order == 3) {
sum += (item.count - 1) * 200;
} else if (item.order == 4) {
sum += (item.count - 1) * 36;
} else if (item.order == 5) {
sum += (item.count - 1) * 6;
}
}
}
System.out.println(sum);
}
}
class Item {
public String name;
public int order;
public int count;
public Item(String name, int order) {
this.name = name;
this.order = order;
}
}