http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2316

理解错一点题意就能WA到死。。。题中对于重复的单词,只输出一个,但是重复的单词个数要加上

  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <iostream>
  4. #include <string>
  5. #include <algorithm>
  6. #include <vector>
  7. #include <map>
  8. using namespace std;
  9. const int N=;
  10. int vis[N];
  11. vector<string>v[N];
  12. map<string,int>mp;
  13. struct node
  14. {
  15. int Size;
  16. int num;
  17. friend bool operator < (node a,node b)
  18. {
  19. if (a.Size == b.Size)
  20. {
  21. return v[a.num][] < v[b.num][];
  22. }
  23. return a.Size > b.Size;
  24. }
  25. } G[N];
  26. int main()
  27. {
  28. string s[N],s2[N];
  29. char ss[N];
  30. int i = ;
  31. mp.clear();
  32. while(scanf("%s",ss)!=EOF)
  33. {
  34. if(ss[]=='')
  35. break;
  36. mp[ss]++;
  37. if(mp[ss]==)
  38. {
  39. s[i] = ss;
  40. sort(ss,ss+strlen(ss));
  41. s2[i++] = ss;
  42. }
  43. }
  44. int n = i;
  45. int p = ;
  46. memset(vis,,sizeof(vis));
  47. for (int j = ; j < n; j++)
  48. {
  49. if (vis[j])
  50. continue;
  51. int Size = ;
  52. for (int k = j; k < n; k++)
  53. {
  54. if (s2[j]==s2[k])
  55. {
  56. vis[k] = ;
  57. v[p].push_back(s[k]);
  58. if(mp[s[k]]>)
  59. Size+=mp[s[k]]-;
  60. }
  61. }
  62. G[p].Size = v[p].size()+Size;
  63. G[p].num = p;
  64. sort(v[p].begin(),v[p].end());
  65. p++;
  66. }
  67. sort(G,G+p);
  68. if (p > )
  69. p = ;
  70. for (int j = ; j < p; j++)
  71. {
  72. printf("Group of size %d:",G[j].Size);
  73. for (int k = ; k < v[G[j].num].size(); k++)
  74. {
  75. cout<<" "<<v[G[j].num][k];
  76. }
  77. printf(" .\n");
  78. }
  79. return ;
  80. }

Anagram Groups(字符串)的更多相关文章

  1. poj 2408 Anagram Groups(hash)

    id=2408" target="_blank" style="">题目链接:poj 2408 Anagram Groups 题目大意:给定若干 ...

  2. POJ 2408 - Anagram Groups - [字典树]

    题目链接:http://poj.org/problem?id=2408 World-renowned Prof. A. N. Agram's current research deals with l ...

  3. poj 2408 Anagram Groups

    Description World-renowned Prof. A. N. Agram's current research deals with large anagram groups. He ...

  4. python 之 字符串处理

    分割字符串 根据某个分割符分割 >>> a = '1,2,3,4' >>> a.split(',') ['] 根据多个分隔符分割 >>> line ...

  5. 杭电ACM分类

    杭电ACM分类: 1001 整数求和 水题1002 C语言实验题——两个数比较 水题1003 1.2.3.4.5... 简单题1004 渊子赛马 排序+贪心的方法归并1005 Hero In Maze ...

  6. HOJ题目分类

    各种杂题,水题,模拟,包括简单数论. 1001 A+B 1002 A+B+C 1009 Fat Cat 1010 The Angle 1011 Unix ls 1012 Decoding Task 1 ...

  7. OJ题解记录计划

    容错声明: ①题目选自https://acm.ecnu.edu.cn/,不再检查题目删改情况 ②所有代码仅代表个人AC提交,不保证解法无误 E0001  A+B Problem First AC: 2 ...

  8. 转载:hdu 题目分类 (侵删)

    转载:from http://blog.csdn.net/qq_28236309/article/details/47818349 基础题:1000.1001.1004.1005.1008.1012. ...

  9. Tire树(字典树)

    from:https://www.cnblogs.com/justinh/p/7716421.html Trie,又经常叫前缀树,字典树等等.它有很多变种,如后缀树,Radix Tree/Trie,P ...

随机推荐

  1. 在CentOS下搭建Android 开发环境

    在CentOS下搭建Android 开发环境 目录 1.环境搭建 1.1.JDK安装 1.2.Eclipse安装 1.3.ADT安装 1.4.Android SDK安装 1.5.Android NDK ...

  2. Pycharm:debug调试时使用参数

    一种操作方法: 文章链接:MAC下使用Pycharm,debug调试时怎样带参数 今天在网上找了一个例子敲代码,因为我使用的是PyCharm,例子运行时需要带参数,开始不知道怎么带参数,网上搜了大半天 ...

  3. 解决 i5 6500 安装黑苹果 Sierra 显卡不正常问题

    i5 6500内置HD 530显卡,装好Sierra显卡驱动不太正常. 先下载Clover configurator 用Clover configurator加载 EFI (Mount EFI)分区 ...

  4. sqlalchemy子查询

    使用subquery() 要使用c来定位上一个子句的属性 s1 = session.query(m.a,m.b).filter().subquery() s2 = session.query(s1.c ...

  5. centos 7.x 安装开源堡垒机Jumpserver

    环境 虚拟机 系统:centos 7 IP:192.168.168.8 目录:/opt 代理:nginx 数据库:mysql 版本大于等于 5.6    mariadb 版本大于等于 5.5.6 更新 ...

  6. CA认证相关

    目录 CA认证相关 基本概念 CA认证相关 公钥私钥详解>> 基本概念 密钥对: 在非对称的加密技术中心, 有两种密钥, 分为私钥和公钥,私钥 --RSA算法-->公钥. 公钥: 公 ...

  7. Emacs的undo与redo

    在Emacs的手册16.1节中有这样一句话, Any command other than an undo command breaks the sequence of undo commands. ...

  8. Java基础学习总结(41)——JPA常用注解

    JPA全称Java Persistence API.JPA通过JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中.         JPA由EJB 3.0软件专 ...

  9. assertion: 18 { code: 18, ok: 0.0, errmsg: "auth fails" }

    MongoDB Version: 2.4.7 Mongodump: $ bin/mongodump -u admin -p admin -d test -o ./tmp/ connected to: ...

  10. CODEVS1533 Fibonacci数列 (矩阵乘法)

    嗯,,,矩阵乘法最基础的题了. Program CODEVS1250; ..,..] of longint; var T,n,mo:longint; a,b:arr; operator *(a,b:a ...