Anagram Groups(字符串)
http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2316
理解错一点题意就能WA到死。。。题中对于重复的单词,只输出一个,但是重复的单词个数要加上
#include <stdio.h>
#include <string.h>
#include <iostream>
#include <string>
#include <algorithm>
#include <vector>
#include <map>
using namespace std;
const int N=;
int vis[N];
vector<string>v[N];
map<string,int>mp;
struct node
{
int Size;
int num;
friend bool operator < (node a,node b)
{
if (a.Size == b.Size)
{
return v[a.num][] < v[b.num][];
}
return a.Size > b.Size;
}
} G[N];
int main()
{
string s[N],s2[N];
char ss[N];
int i = ;
mp.clear();
while(scanf("%s",ss)!=EOF)
{
if(ss[]=='')
break;
mp[ss]++;
if(mp[ss]==)
{
s[i] = ss;
sort(ss,ss+strlen(ss));
s2[i++] = ss;
}
}
int n = i;
int p = ;
memset(vis,,sizeof(vis));
for (int j = ; j < n; j++)
{
if (vis[j])
continue;
int Size = ;
for (int k = j; k < n; k++)
{
if (s2[j]==s2[k])
{
vis[k] = ;
v[p].push_back(s[k]);
if(mp[s[k]]>)
Size+=mp[s[k]]-;
}
}
G[p].Size = v[p].size()+Size;
G[p].num = p;
sort(v[p].begin(),v[p].end());
p++;
}
sort(G,G+p);
if (p > )
p = ;
for (int j = ; j < p; j++)
{
printf("Group of size %d:",G[j].Size);
for (int k = ; k < v[G[j].num].size(); k++)
{
cout<<" "<<v[G[j].num][k];
}
printf(" .\n");
}
return ;
}
Anagram Groups(字符串)的更多相关文章
- poj 2408 Anagram Groups(hash)
id=2408" target="_blank" style="">题目链接:poj 2408 Anagram Groups 题目大意:给定若干 ...
- POJ 2408 - Anagram Groups - [字典树]
题目链接:http://poj.org/problem?id=2408 World-renowned Prof. A. N. Agram's current research deals with l ...
- poj 2408 Anagram Groups
Description World-renowned Prof. A. N. Agram's current research deals with large anagram groups. He ...
- python 之 字符串处理
分割字符串 根据某个分割符分割 >>> a = '1,2,3,4' >>> a.split(',') ['] 根据多个分隔符分割 >>> line ...
- 杭电ACM分类
杭电ACM分类: 1001 整数求和 水题1002 C语言实验题——两个数比较 水题1003 1.2.3.4.5... 简单题1004 渊子赛马 排序+贪心的方法归并1005 Hero In Maze ...
- HOJ题目分类
各种杂题,水题,模拟,包括简单数论. 1001 A+B 1002 A+B+C 1009 Fat Cat 1010 The Angle 1011 Unix ls 1012 Decoding Task 1 ...
- OJ题解记录计划
容错声明: ①题目选自https://acm.ecnu.edu.cn/,不再检查题目删改情况 ②所有代码仅代表个人AC提交,不保证解法无误 E0001 A+B Problem First AC: 2 ...
- 转载:hdu 题目分类 (侵删)
转载:from http://blog.csdn.net/qq_28236309/article/details/47818349 基础题:1000.1001.1004.1005.1008.1012. ...
- Tire树(字典树)
from:https://www.cnblogs.com/justinh/p/7716421.html Trie,又经常叫前缀树,字典树等等.它有很多变种,如后缀树,Radix Tree/Trie,P ...
随机推荐
- iOS 9 中可用的受信任根证书列表
iOS 受信任证书存储区包含随 iOS 预安装的可信根证书. https://support.apple.com/zh-cn/HT205205 关于信任和证书 iOS 9 受信任证书存储区包含三类证 ...
- CAD创建一个新的图形文件
static void linea(void) { AcDbDatabase *pDb = new AcDbDatabase(true, false); AcGePoint3d pickPoint; ...
- picturebox中添加图片
private void Form1_Load(object sender, EventArgs e) { radioButton2.Checked = true; } private void ra ...
- sublime text3 verilog代码编写高级操作篇
2018.10.21 好久没写博客了,这段时间一直在学习一直在沉淀,然而发现学的越多会的更少,只能快马加鞭吧! 博主从大一暑假接触FPGA,到现在快一年半了,时间恍逝.刚开始入门也是用的quartus ...
- @FunctionalInterface
>> 函数式接口也称为SAM接口 Single Abstract Method interfaces 接口有且仅有一个抽象方法 允许定义静态方法 允许定义默认方法 允许java.lang. ...
- ModelBinder 请求容错性
代码 //using System.Web.Mvc; public class TrimToDBCModelBinder : DefaultModelBinder { public override ...
- Luogu P2298 Mzc和男家丁的游戏
Mzc和男家丁的游戏 题目背景 mzc与djn的第二弹. 题目描述 mzc家很有钱(开玩笑),他家有n个男家丁(做过上一弹的都知道).他把她们召集在了一起,他们决定玩捉迷藏.现在mzc要来寻找他的男家 ...
- soui edit passwrod模式下禁用输入法
一直在用soui做客户端界面,今天发现密码edit在中文输入法下不能输入密码.我在想难道不是这样吗,密码就该用英文输入法啊. 然后我就用mfc的做了个demo,发现mfc的edit在密码模式下是可以用 ...
- Vi/Vim基本用法
Vi/Vim是Linux中一款功能强大的编辑器,vi是Visual Interface的缩写,即可视化接口,vim是vi iMprove的缩写,即 vi的增强版(具有语法着色功能).它在Linux上的 ...
- mysql登录出现1045错误
这个问题是在window server 2012上安装mysql之后, 远程访问时出现的1045错误 我新建了一个相同的用户用于远程访问, 密码也相同, 但是还是访问不了 参照链接:https://b ...