poj3096(set的应用)
题意:给你一个原串,从子串长度为2开始查找,如果有重复则输出is NOT surprising.否则长度一直从2到len.最后输出is surprising.
#include<iostream>
#include<algorithm>
#include<cstring>
#include<cmath>
#include<set>
#include<cstdio>
using namespace std;
string s;
set<string>st;
int main(){string s5="";while(cin>>s){getchar();if(s=="*")break;int flag=0;int len=s.length();if(len<=2){//如果长度小于2直接输出cout<<s<<" is surprising."<<endl;continue;}for(int i=0;i<=len-2;i++){for(int j=0;j<=len-2-i;j++){s5=s[j];s5+=s[j+i+1];if(st.find(s5)==st.end()){//判断集合中是否含有子串st.insert(s5);}else{flag=1;//标记是否重复break;}s5="";}st.clear();//每一次的判断完之后都要清空if(flag==1){//如果已有重复的则直接跳出循环break;}}if(flag==1){cout<<s<<" is NOT surprising."<<endl;}else{cout<<s<<" is surprising."<<endl;}}return 0;
}
poj3096(set的应用)相关推荐
- [POJ3096]Surprising Strings
[POJ3096]Surprising Strings 试题描述 The D-pairs of a string of letters are the ordered pairs of letters ...
- POJ3096.Surprising Strings题解--zhengjun
思路 一看这个字符串长度很小,就直接暴力就好了. 然后我们需要一种快速的查看是否有一对大写字符相同的容器. 于是就可以想到用 26 26 26 进制+桶,这样就是一一对应了. 代码 #include& ...
- POJ-3096(Surprising Strings)
题目:Surprising Strings Description The D-pairs of a string of letters are the ordered pairs of letter ...
- 做acm 需要学的算法
做acm 需要学的算法 转一个搞ACM需要的掌握的算法. 要注意,ACM的竞赛性强,因此自己应该和自己的实际应用联系起来. 适合自己的才是好的,有的人不适合搞算法,喜欢系统架构,因此不要看到别人什 ...
- acm经典题Mark
著名的北邮ACM推荐50题 POJ推荐50题 1.标记"难"和"稍难"的题目可以看看,思考一下,不做要求,当然有能力的同学可以直接切掉. 2.标记为A and ...
- idea直连linux部署项目,idea项目打包和在linux的部署
浅谈:深入理解struts2的流程已经spring和struts2的整合 第一步:在tomcat启动的时候 1.在tomcat启动的时候,首先会加载struts2的核心过滤器StrutsPrepare ...
- 嗷嗷嗷,kuangbin大大博客上拉的题
正在学(learning),未学(waiting),已学(cut vovering) 初期: 一.基本算法: (1)枚举. (poj1753,poj2965) (2)贪心(poj ...
- C++ ACM解题
部分解题报告添加新内容,除了原有的"大致题意"和"解题思路"外, 新增"Source修正",因为原Source较模糊,这是为了帮助某些狂WA ...
- 假期ACM训练计划表
OJ上的一些水题(可用来练手和增加自信) (poj3299,poj2159,poj2739,poj1083,poj2262,poj1503,poj3006,poj2255,poj3094) 初期: 一 ...
最新文章
- 光耦p621引脚图_开关电源中光耦电路的设计与优点
- 软件测试培训教程:pytest与unittest区别
- 网络安全与机器学习(二):网络安全任务如何结合机器学习?
- 【数论基础】模运算详解及其应用
- linux切换任务命令,Linux top详解之交互命令、命令行选项
- 蓝牙mesh网络基础
- 互联网之“死”:为什么开发者会排斥新技术?
- 5 个给 Linux 新手的最佳包管理器
- 【密码学】七、密钥管理
- Cisco交换机密码修复
- 读后感——《软件工程》——软件的本质及软件工程
- 关于element upload上传时额外参数的问题
- MATLAB-三维插值运算
- c语言 一张圆薄饼,切100刀,最多能切成多少块 c语言,甜甜圈上切两刀,最多能切成多少块?...
- java日期格式化为json字符串,看这个就够了
- 我的家乡潍坊HTML静态网页 学生个人网页设计作品 学生家乡网页模板 简单个人主页成品
- php拖拽上传_JS实现的文件拖拽上传功能示例
- 基于Linux的kfifo移植到STM32(支持os的互斥访问)
- 利用for循环打印实心棱形和空心棱形
- for循环、do……while循环和一些循环练习
热门文章
- 美多商城之商品(首页广告)
- 线性回归之数学:求导公式
- PyCharm代码回滚,恢复历史版本
- ACMNO.37 C语言-数字交换 输入10个整数,将其中最小的数与第一个数对换,然后把最大的数与最后一个数对换。写三个函数; ①输入10个数;②进行处理;③输出10个数。
- 12个现实世界中的机器学习真相
- 8个计算机视觉深度学习中常见的Bug
- 读了那么多CV论文,竟然连车道线分割都实现不了!
- Eclipse Jetty 9.4.15 发布,建议使用 JDK 12
- [Linux]VI相关操作
- 诺基亚:IMPACT智能管理平台已安全管理超过15亿部物联网设备