zoukankan      html  css  js  c++  java
  • HDU 5688 Problem D

    Problem D

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)
    Total Submission(s): 182    Accepted Submission(s): 126


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

    度熊想统计这个国家的人口数量,请帮助度熊设计一个程序,用来统计每一个人在之前被统计过多少次。
     
    Input
    这里包括一组测试数据,第一行包含一个正整数N, 接下来的N行代表了N个名字。N不会超过100,000,他们的名字不会超过40位.
     
    Output
    对于每输入的一个人名,输出一个整数,代表这个人之前被统计了多少次。
     
    Sample Input
    5
    ACM
    MAC
    BBA
    ACM
    BAB
     
    Sample Output
    0
    1
    0
    2
    1
     
    Source
     
     
     
    解析:首先对表示每个人名字的字符串重新排序,这样每个人就只有唯一一个表示其名字的字符串。问题就转化为了相同的字符串在之前出现了多少次,用map再合适不过了。
     
     
     
     1 #include <cstdio>
     2 #include <cstring>
     3 #include <string>
     4 #include <algorithm>
     5 #include <map>
     6 using namespace std;
     7 
     8 char s[41];
     9 map<string, int> m;
    10 
    11 int main()
    12 {
    13     int n;
    14     scanf("%d", &n);
    15     m.clear();
    16     while(n--){
    17         scanf("%s", s);
    18         int len = strlen(s);
    19         sort(s, s+len);
    20         printf("%d
    ", m[s]++);
    21     }
    22     return 0;
    23 }
  • 相关阅读:
    数据的增、删、改(jQuery.Ajax)
    tomcat内置jdk(tomcat集成jdk)(windows环境)
    进行数据库进程的杀死
    矩阵与自然基向量
    实对称矩阵
    坐标变换
    设置PySpark的Python版本
    CentOS7中安装Python3.6
    一个矩阵有几个实特征向量
    centos7系统设置固定IP
  • 原文地址:https://www.cnblogs.com/inmoonlight/p/5510382.html
Copyright © 2011-2022 走看看