CSU 1505: 酷酷的单词【字符串】
Description
输入一些仅由小写字母组成的单词。你的任务是统计有多少个单词是“酷”的,即每种字母出现的次数都不同。
比如ada是酷的,因为a出现2次,d出现1次,而1和2不同。再比如,banana也是酷的,因为a出现3次,n出现2次,b出现1次。但是,bbacccd不是酷的,因为a和d出现的次数相同(均为1次)。
Input
输入包含不超过30组数据。每组数据第一行为单词个数n (1<=n<=10000)。以下n行各包含一个单词,字母个数为1~30。
Output
对于每组数据,输出测试点编号和酷单词的个数。
Sample Input
2
ada
bbacccd
2
illness
a
Sample Output
Case 1: 1
Case 2: 0
Hint
Source
湖南省第十届大学生计算机程序设计竞赛
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstring>
#include<set>
#include<map>
#include<sstream>
#include<queue>
#include<stack>
#include<cmath>
#include<list>
#include<vector>
#include<string>
using namespace std;
#define ll long long
const double PI = acos(-1.0);
const double eps = 1e-;
const int inf = 0x3f3f3f3f;
const int N = ;
const int mod = ;
int n, m, tot;
/*
4
ada
bbacccd
illness
a
*/
int mp[]; int t;
char str[];
int main()
{
int k = ;
while(scanf("%d",&t)!=EOF)
{
int cnt = ;
while(t--)
{
int f = ;
scanf("%s",&str);
memset(mp,,sizeof(mp));
if(strlen(str) == ) f = ;
else{
for(int i=; str[i]; i++)
mp[str[i]-'a']++;
for(char i=; i<; i++)
{
for(int j=i+; j<; j++)
{
if(mp[j] == mp[i] && mp[i] != )
{
f = ;break;
}
}
}
if(f==) cnt++;
}
}
printf("Case %d: %d\n",k++,cnt);
}
return ;
}
AC
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstring>
#include<set>
#include<map>
#include<sstream>
#include<queue>
#include<stack>
#include<cmath>
#include<list>
#include<vector>
#include<string>
using namespace std;
#define ll long long
const double PI = acos(-1.0);
const double eps = 1e-;
const int inf = 0x3f3f3f3f;
const int N = ;
const int mod = ;
int n, m, tot;
/*
4
ada
bbacccd
illness
a
*/
int a[N];
int t;
map<int,int> mp;
vector<int> v;
char str[];
int main()
{
int k = ;
while(cin>>t)
{
mp.clear();
v.clear();
int cnt = ;
while(t--)
{
int f = ;
cin>>str;
if(strlen(str) == ) f = ;
else{
for(int i=; str[i]; i++)
mp[str[i]-'a']++; for(char i=; i<; i++)
if(mp[i]!=)
v.push_back(mp[i]);
int num = v.size();//原来单词出现次数1 2(2)/1 1 2 3
sort(v.begin(),v.end());
v.erase(unique(v.begin(), v.end()), v.end());
if(num == v.size())
f = ;
}
if(f) cnt++;//每种字母出现的次数都不同。
}
printf("Case %d: %d\n",k++,cnt);
}
return ;
} /*
for(map<char, int>::iterator iter = mp.begin(); iter != mp.end(); iter++) {
cout << iter->first << " : " << iter->second << endl;
} for(char i='a'; i<='z'; i++){
v.push_back(mp[i]);
}
/*
for(vector<int>::iterator it = v.begin(); it!=v.end(); it++)
cout<<*it<<" ";
cout<<endl;*/ /**********************************************************************
Problem: 1505
User: roniking
Language: C++
Result: TLE
**********************************************************************/
TLE(STL
CSU 1505: 酷酷的单词【字符串】的更多相关文章
- csuoj 1505: 酷酷的单词
http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1505 1505: 酷酷的单词 时间限制: 1 Sec 内存限制: 128 MB 提交: 340 ...
- CSU 1505 酷酷的单词 湖南省赛第十届题目
题目链接:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1505 题意:技巧题,就是一行字符串中,每个字母出现的次数互不相同,复即为酷的单词. 解题 ...
- BZOJ3172 [Tjoi2013]单词 字符串 SA ST表
原文链接http://www.cnblogs.com/zhouzhendong/p/9026543.html 题目传送门 - BZOJ3172 题意 输入$n(n\leq 200)$个字符串,保证长度 ...
- 【bzoj3172】: [Tjoi2013]单词 字符串-AC自动机
[bzoj3172]: [Tjoi2013]单词 先用所有单词构造一个AC自动机 题目要求的是每个单词在这个AC自动机里匹配到的次数 每次insert一个单词的时候把路径上的cnt++ 那么点p-&g ...
- 酷酷的CSS3三角形运用
概述 在早期的前端Web设计开发年代,完成一些页面元素时,我们必须要有专业的PS美工爸爸,由PS美工爸爸来切图,做一些圆角.阴影.锯齿或者一些小图标. 在CSS3出现后,借助一些具有魔力的CSS3属性 ...
- 酷酷的mapv
做城市热力图的时候无意浏览到mapv强大的功能.比如地图上路线的汇聚效果,如下 <!DOCTYPE html> <html> <head> <meta cha ...
- 酷酷的jQuery classicAccordion 手风琴
在线实例 效果一 效果二 效果三 使用方法 手风琴ul li列表 <ul class="accordion"> <li> < ...
- 【转载】酷酷的CSS3三角形运用
转载:http://www.cnblogs.com/keepfool/p/5616326.html 概述 在早期的前端Web设计开发年代,完成一些页面元素时,我们必须要有专业的PS美工爸爸,由PS美工 ...
- [ios]ipad下的splitViewController 让你的APP看起来酷酷的!
在ipad下可以使用splitViewController splitViewController下包含两个viewController 这是一种将屏幕一分为二的方式. 在水平状态下会出现成两个左右两 ...
随机推荐
- 【Todo】 cygwin下emacs中M-x shell 中出现乱码
- firewall-cmd 防火墙命令详解 及 TCP Wrappers
firewall-cmd 常用参数及作用 参数 作用 --get-default-zone 查询默认的区域名称 --set-default-zone=<区域名称> 设置默认的区域,使其永久 ...
- SharedPreferences使用(通过键值保存数据)
保存数据到SharedPreferences中 要想使用SharedPreferences来存储数据, 首先需要获取到SharedPreferences对象. Android中主要提供了三种方法用于得 ...
- [转]webservice 采用SSL实现加密传输
本文转自:http://book.51cto.com/art/200906/129770.htm http://yeweiyun868.blog.163.com/blog/static/5637844 ...
- lua table长度解析
先来看lua table源码长度获取部分(ltable.c) j是数组部分的长度.首先判断数组长度大于0,并且数组最后一个是nil,就用二分法查找,返回长度. 如果t->node是 table的 ...
- laravel5.2总结--门面(facades)
Facades 为应用程序的服务容器中可用的类提供了一个「静态」接口. Laravel 本身附带许多的 facades,甚至你可能在不知情的状况下已经在使用他们! xpower的静态接口(门面 ...
- Python框架之Django学习笔记(十二)
Django站点管理 十一转眼结束,说好的充电没能顺利开展,反而悠闲的看了电视剧以及去影院看了新上映的<心花路放>.<亲爱的>以及<黄金时代>,说好的劳逸结合现在回 ...
- 利用python多线程模块实现模拟接口并发
import requestsimport jsonimport threadingimport timeimport uuid class postrequests(): def __init__( ...
- Python面向对象之什么是类(1)
1.C#.Java :只能用面向对象编程 Ruby.Python :函数编程+ 面向对象 面向对象编程不是在所有地方都比函数式编程方便的,类是为了封装,下面是简单的使用方法 在创建类的时候要用clas ...
- 查看apache和nginx的负载和连接数情况
1.查看apache当前并发访问数:netstat -an | grep ESTABLISHED | wc -l对比httpd.conf中MaxClients的数字差距多少. 2.查看有多少个进程数: ...