统计人名

Problem Description

  度熊所居住的 D 国,是一个完全尊重人权的国度。以至于这个国家的所有人命名自己的名字都非常奇怪。一个人的名字由若干个字符组成,同样的,这些字符的全排列的结果中的每一个字符串,也都是这个人的名字。例如,如果一个人名字是 ACM,那么 AMC, CAM, MAC, MCA, 等也都是这个人的名字。在这个国家中,没有两个名字相同的人。

  度熊想统计这个国家的人口数量,请帮助度熊设计一个程序,用来统计每一个人在之前被统计过多少次。

Input

  这里包括一组测试数据,第一行包含一个正整数NN,接下来的NN 行代表了 NN 个名字。NN 不会超过100,000100,000,他们的名字不会超过40位.

Output

  对于每输入的一个人名,输出一个整数,代表这个人之前被统计了多少次。

Sample Input

5
ACM
MAC
BBA
ACM
BAB

Sample Output

0
1
0
2
1

测试代码

 1 import java.io.PrintWriter;
 2 import java.util.Arrays;
 3 import java.util.HashMap;
 4 import java.util.Map;
 5 import java.util.Scanner;
 6
 7 public class Main {
 8     static Scanner cin = new Scanner(System.in);
 9     static PrintWriter cout = new PrintWriter(System.out);
10
11     public static void main(String[] args) {
12         Map<String, Integer> map = new HashMap<String, Integer>();
13         for (int n = cin.nextInt(); n-- > 0;) {
14             char cs[] = cin.next().toCharArray();
15             Arrays.sort(cs);
16             String s = new String(cs);
17             if (!map.containsKey(s))
18                 map.put(s, 0);
19             cout.println(map.get(s));
20             map.put(s, 1 + map.get(s));
21
22         }
23         cin.close();
24         cout.close();
25     }
26 }
时间: 2024-12-24 12:41:45

统计人名的相关文章

python学习之抓取猫眼电影Top100榜单

目录 1 本篇目标 2 url分析 3 页面抓取 4 页面分析 5 代码整合 6 优化 参考: 近期开始学习python爬虫,熟悉了基本库.解析库之后,决定做个小Demo来实践下,检验学习成果. 1 本篇目标 抓取猫眼电影总排行榜Top100电影单 根据电影演员表统计演员上榜次数 2 url分析 目标站点为https://maoyan.com/board/4,打开之后就可以看到排行榜信息,如图所示 页面上显示10部电影,有名次.影片名称.演员信息等信息.当拉到最下面点击第二页的时候,发现url变

python练习 数字不同数之和+人名最多数统计

数字不同数之和 描述 获得用户输入的一个整数N,输出N中所出现不同数字的和.???????????????????????????????????????????????????????????????????????????????????????????????? 例如:用户输入 123123123,其中所出现的不同数字为:1.2.3,这几个数字和为6.??????????????????????????????????????????????????????????????????????

一本英文小说的词频统计

对<达芬奇密码(The Da Vinci Code)>统计了各单词的出现次数(人名地名不参与统计). 全书约12.5万字(words),出现了10240个单词,其中只有1559个单词出现了10次以上. 出现2000次以上的单词,4个:the, of, to, and 出现1000次以上的单词,12个. 出现500次以上的单词,22个. 出现100次以上的单词,148个. 出现50次以上的单词,333个. 出现30次以上的单词,551个. 出现20次以上的单词,808个. 出现10次以上的单词,

Excel统计QQ聊天记录条数

将QQ记录从QQ中导出为Txt文件,再导入的Excel表格中,会发现消息记录格式: 2012-06-23 10:58:34 小明 你好! 2012-06-23 10:58:34 小红 你好! 消息记录在Excel表的A列中显示, 然后,分别列出在B列中列出所有统计的日期,在C列中标明要统计的人名,例如 C列统计小明 每天所发消息的条数,D列统计 小红每天所发的条数 C列中使用公式 例如: C2 = COUNTIF(A:A,"2012-06-23*小明")    C3 = COUNTIF

【算法相关】高频词汇统计C#简易版

其实类似于"出现次数统计"的问题,在很多地方都有遇到过,例如,统计一组数字中,每个数字出现的次数.这类统计大多会朝着一个方向发展,那就是大数据.此篇博客只是初级篇,本人在大数据方面一无所知,不做过多讲解. C#版高频词汇主要需要去面对的事: 将主流格式文档导入至词汇分析系统中,包括.doc, .docx, .pdf , .txt等. 运用正则表达式,将文档中无关内容做过滤,例如文档中出现中文或者一些特殊符号等,这些都无需参与统计的. 将每个单词分离出来,这里其实是个技术难点(很多单词存

NBUT 1118 Marisa&#39;s Affair (排序统计,水)

题意:每行给出一个人名和一个int值,人名可重复出现.要求对同一个人名统计int值,最大的先输出,若相同,则按照人名出现次数,若再相同,则按照人名字典序. 思路:输入完全部进行排序,写个比较函数传进去sort即可. 1 #include <bits/stdc++.h> 2 using namespace std; 3 4 struct node 5 { 6 char nam[22]; 7 int lik; 8 int tim; 9 }a[5500]; 10 11 map<string,

NBUT 1114 Alice&#39;s Puppets(排序统计,水)

题意:给一棵人名树,按层输出,同层则按名字的字典序输出. 思路:首先对每个人名做索引,确定其在哪一层,按层装进一个set,再按层输出就自动排好序了. 1 #include <bits/stdc++.h> 2 using namespace std; 3 vector< set<string> > ord; //每层一个set,自动按照字典序排好了 4 map<string,int> mapp; //作哈希用 5 6 int main() 7 { 8 //fr

Excel 2010 如何快速统计一列中相同数值出现的个数

https://jingyan.baidu.com/article/9113f81b2c16822b3214c785.html 最近经常看到论坛和百度知道的朋友提问关于"excel中如何快速统计一列中相同数值出现的个数",看来这是个普遍问题.所以,笔者单独写一篇经验分享一下该问题的快速解决方案.数据如下图,A2:A51为人名数据,有重复,需统计每个人出现了多少次. 工具/原料 Excel 数据透视表解决方案: 1 首先,选中A1:A51的数据范围,选择[插入]-[数据透视表]. 2 按

文本词频统计

本例是数组.字典.列表.jieba(第三方库)的综合应用,我们将对三国演义中出现次数前十的任务进行排名并统计出出现的次数. 程序1: #CalThreeKingdomsV1.pyimport jiebatxt = open("threekingdoms.txt", "r", encoding="utf-8").read()words = jieba.lcut(txt) #利用jieba函数进行分词并返回列表类型counts = {} #创建一个字