POJ3096--Surprising Strings(简单的字符串处理和相同字符串统计)
来源:互联网 发布:sql攻击 政府网站 编辑:程序博客网 时间:2024/05/21 07:11
题目大意:就是给定一个字符串s,长度为n,s中间隔为k(k=1,2,3...,n-2)的所有字符对如果没有相同的(保证所有k种距离下的情况),那么s是surprising的;否则NOT surprising。
算法设计:
枚举所有间隔为k内的字符对,如果每一个字符对仅出现一次,那么继续遍历,知道出现有重复的字符对相同,则说明NOT surprising。用map来映射每一个字符对的出现,且能保证唯一。
代码:
#include<iostream>#include<cstring>#include<stdio.h>#include<cstdlib>#include<map>using namespace std;int main(){string s;char ss[3];map<string,int> map_str;while(cin>>s){if(s=="*"){break;}bool flag = true; //i就是两个字符之间的距离 for(int i=s.length()-1;i>=1;i--){map_str.clear();//不同的字符距离i对应的字符对之间是独立的。 for(int j=0;j<s.length()-i;j++){ //cout<<"map_str.size() = "<<map_str.size()<<endl; //ss为字符对,将它加入到map中 ss[0] = s[j];ss[1] = s[j+i];ss[2] = '\0';//cout<<"ss = "<<ss<<" i = "<<i<<" j = "<<j<<endl;if( map_str[ ss ] == 1 ){flag = false;break;}else{map_str[ ss ] = 1;}//cout<<"map_str.size() = "<<map_str.size()<<endl;}if(!flag) break;}if(flag){cout<<s<<" is surprising."<<endl;}else{cout<<s<<" is NOT surprising."<<endl;}} //system("pause") ;return 0;}
Run IDUserProblemResultMemoryTimeLanguageCode LengthSubmit Time12399924niuliguo3096Accepted732K32MSG++940B2013-12-24 00:49:22
注明出处:http://blog.csdn.net/lavorange/article/details/17517855
0 0
- POJ3096--Surprising Strings(简单的字符串处理和相同字符串统计)
- POJ: Surprising Strings(map、字符串处理)
- (POJ3096)Surprising Strings <STL-map 水题>
- poj3096——Surprising Strings(STL)
- poj3096 Surprising Strings
- POJ3096 Surprising Strings 水题
- Surprising Strings -- POJ3096
- poj3096 Surprising Strings
- poj3096 Surprising Strings
- POJ3096-Surprising Strings【STL--map】
- Surprising Strings poj3096(map应用)
- poj3096 Surprising Strings (STL中map)
- poj 3096 Surprising Strings 字符串哈希
- leetcode205---Isomorphic Strings(相同结构的字符串)
- POJ 3096-Surprising Strings(map-相同串)
- 统计相同字符串字数
- Surprising Strings(STL)
- 统计字符串中相同字符的个数
- 辞旧迎新,2013年年终感言
- LinkedHashMap与HashMap
- 如何学习网络编程
- 更改ejs模板后缀.ejs为.html
- Factstone Benchmark
- POJ3096--Surprising Strings(简单的字符串处理和相同字符串统计)
- noip火柴棍等式
- 程序员面试、算法研究、编程艺术、红黑树、数据挖掘5大系列集锦
- 程序员:下一次面试前你需要准备的五个基本步骤
- 近似求阶乘-斯特林公式
- python OpenCV 安装 (一)
- DP5 编辑距离 Edit Distance @geeksforgeeks
- 面试题中的二叉树根据和寻路径问题
- webService发布简单实例