题意:给你一个原串,从子串长度为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的应用)相关推荐

  1. [POJ3096]Surprising Strings

    [POJ3096]Surprising Strings 试题描述 The D-pairs of a string of letters are the ordered pairs of letters ...

  2. POJ3096.Surprising Strings题解--zhengjun

    思路 一看这个字符串长度很小,就直接暴力就好了. 然后我们需要一种快速的查看是否有一对大写字符相同的容器. 于是就可以想到用 26 26 26 进制+桶,这样就是一一对应了. 代码 #include& ...

  3. POJ-3096(Surprising Strings)

    题目:Surprising Strings Description The D-pairs of a string of letters are the ordered pairs of letter ...

  4. 做acm 需要学的算法

    做acm 需要学的算法 转一个搞ACM需要的掌握的算法.  要注意,ACM的竞赛性强,因此自己应该和自己的实际应用联系起来.  适合自己的才是好的,有的人不适合搞算法,喜欢系统架构,因此不要看到别人什 ...

  5. acm经典题Mark

    著名的北邮ACM推荐50题 POJ推荐50题 1.标记"难"和"稍难"的题目可以看看,思考一下,不做要求,当然有能力的同学可以直接切掉. 2.标记为A and ...

  6. idea直连linux部署项目,idea项目打包和在linux的部署

    浅谈:深入理解struts2的流程已经spring和struts2的整合 第一步:在tomcat启动的时候 1.在tomcat启动的时候,首先会加载struts2的核心过滤器StrutsPrepare ...

  7. 嗷嗷嗷,kuangbin大大博客上拉的题

    正在学(learning),未学(waiting),已学(cut  vovering) 初期: 一.基本算法:      (1)枚举. (poj1753,poj2965)      (2)贪心(poj ...

  8. C++ ACM解题

    部分解题报告添加新内容,除了原有的"大致题意"和"解题思路"外, 新增"Source修正",因为原Source较模糊,这是为了帮助某些狂WA ...

  9. 假期ACM训练计划表

    OJ上的一些水题(可用来练手和增加自信) (poj3299,poj2159,poj2739,poj1083,poj2262,poj1503,poj3006,poj2255,poj3094) 初期: 一 ...

最新文章

  1. 光耦p621引脚图_开关电源中光耦电路的设计与优点
  2. 软件测试培训教程:pytest与unittest区别
  3. 网络安全与机器学习(二):网络安全任务如何结合机器学习?
  4. 【数论基础】模运算详解及其应用
  5. linux切换任务命令,Linux top详解之交互命令、命令行选项
  6. 蓝牙mesh网络基础
  7. 互联网之“死”:为什么开发者会排斥新技术?
  8. 5 个给 Linux 新手的最佳包管理器
  9. 【密码学】七、密钥管理
  10. Cisco交换机密码修复
  11. 读后感——《软件工程》——软件的本质及软件工程
  12. 关于element upload上传时额外参数的问题
  13. MATLAB-三维插值运算
  14. c语言 一张圆薄饼,切100刀,最多能切成多少块 c语言,甜甜圈上切两刀,最多能切成多少块?...
  15. java日期格式化为json字符串,看这个就够了
  16. 我的家乡潍坊HTML静态网页 学生个人网页设计作品 学生家乡网页模板 简单个人主页成品
  17. php拖拽上传_JS实现的文件拖拽上传功能示例
  18. 基于Linux的kfifo移植到STM32(支持os的互斥访问)
  19. 利用for循环打印实心棱形和空心棱形
  20. for循环、do……while循环和一些循环练习

热门文章

  1. 美多商城之商品(首页广告)
  2. 线性回归之数学:求导公式
  3. PyCharm代码回滚,恢复历史版本
  4. ACMNO.37 C语言-数字交换 输入10个整数,将其中最小的数与第一个数对换,然后把最大的数与最后一个数对换。写三个函数; ①输入10个数;②进行处理;③输出10个数。
  5. 12个现实世界中的机器学习真相
  6. 8个计算机视觉深度学习中常见的Bug
  7. 读了那么多CV论文,竟然连车道线分割都实现不了!
  8. Eclipse Jetty 9.4.15 发布,建议使用 JDK 12
  9. [Linux]VI相关操作
  10. 诺基亚:IMPACT智能管理平台已安全管理超过15亿部物联网设备