列表

详情


NC231679. 龙神的分类

描述

龙神是羊驼大陆最为强大的存在,传说中他可以言出法随。在极为漫长的岁月中,龙神喜欢上了算法竞赛。

龙神拥有无与伦比的算法实力,他甚至在某次程序设计竞赛中,在最后一秒钟,AC了一道夺冠题,他写的python代码如下:
print('password')


众所周知,算法竞赛是电子竞技。组委会会根据比赛结束时选手们的最终成绩给出金牌、银牌、铜牌或者铁牌作为奖项。


奖牌种类
iron bronze silver gold


作为远古神祇的龙神很不满意这种平平淡淡的奖牌分类方式,他觉得比赛是有级别的,应该根据比赛的级别给奖牌加上相应的称号。他把奖牌划分成了玩具、普通、稀有、史诗、传奇五个级别。龙神认为,作为一个入门的算法竞赛选手,普通金牌应该是有手就行。


奖牌等级
toy normal rare epic legend


作为寿命漫长的强大神祇,龙神在他的算法竞赛生涯中获得了不计其数的奖牌,他把他所获得的奖牌记录到了他的龙神笔记上。

羊驼大学的大一新生 Lucky 在机缘巧合下瞥到了龙神笔记的一部分,现在 Lucky 想统计一下在这一部分中龙神获得的各种种类的奖牌各有多少个。

输入描述

第一行一个整数 n ,表示龙神笔记中 Lucky 所瞥到的部分中的奖牌的数量。

接下来 n 行,每行两个由单个空格分隔开的字符串 s_1,s_2 , 分别表示奖牌级别、奖牌种类。

输出描述

以 "奖牌级别 奖牌种类:拥有数量"的格式,按"奖牌级别 奖牌种类"的字典序升序输出龙神的奖牌的统计信息。

示例1

输入:

9
toy gold
toy gold
toy gold
toy bronze
normal bronze
normal bronze
normal bronze
rare iron
rare iron

输出:

normal bronze:3
rare iron:2
toy bronze:1
toy gold:3

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

C++ 解法, 执行用时: 35ms, 内存消耗: 500K, 提交时间: 2021-12-19 13:15:39

#include<bits/stdc++.h>
using namespace std;
map<string,int> mp;
int main(){
	int t;
	cin>>t;
	cin.ignore();
	while(t--){
		string s;
		getline(cin,s);
		mp[s]++;	
	}
	for(auto it:mp){
		cout<<it.first<<":"<<it.second<<endl;
	}
	return 0;
}

pypy3 解法, 执行用时: 330ms, 内存消耗: 27980K, 提交时间: 2021-12-19 13:26:51

n = int(input())

d = dict()

for i in range(n):
    a = input()
    if d.get(a):
        d[a] += 1
    else:
        d[a] = 1
d = sorted(d.items())
for c in d:
    print(c[0] + ':', end = '')
    print(c[1])

Python3 解法, 执行用时: 295ms, 内存消耗: 11760K, 提交时间: 2022-03-21 22:18:46

n=int(input())
list1=[]
for i in range(n):
    list1.append(input())
prec={}
for i in sorted(list(set(list1))):
    prec[i]=list1.count(i)
for k,v in prec.items():
    print(str(k)+':'+str(v))

上一题