码迷,mamicode.com
首页 > 其他好文 > 详细

codeforces 349 div2.c

时间:2016-05-29 21:37:15      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:

 1 #include <cstdio>
 2 #include <cstring>
 3 #include <set>
 4 #include <iostream>
 5 #include <map>
 6 #include <math.h>
 7 #include <algorithm>
 8 using namespace std;
 9 typedef long long ll;
10 const int N = 1000005;
11 const double pi= 3.14159265358979323846264;
12 bool val[10009];
13 set<string>ans;
14 
15 int main()
16 {
17     //freopen("in.txt","r",stdin);
18    string s;
19     cin>>s;
20     int l=s.length();
21     val[l]=true;
22     for(int i=l-1;i>4;i--){
23         if(val[i+2]){
24             string t=s.substr(i,2);//直接求子串
25             if(s.find(t,i+2)!=i+2||val[i+5]){//find表示从i+2位置开始找第一个与t相等字符串的位置
26                 val[i]=true;
27                 ans.insert(t);
28             }
29         }
30           if(val[i+3]){
31             string t=s.substr(i,3);
32             if(s.find(t,i+3)!=i+3||val[i+5]){
33                 val[i]=true;
34                 ans.insert(t);
35             }
36         }
37 
38     }
39 cout<<ans.size()<<endl;
40 set<string>::iterator it;//set是自动去重并安字典序排序orz高大上,输出方式也高大上
41 for( it=ans.begin();it!=ans.end();it++)
42    cout<<it->c_str()<<endl;
43 
44     return 0;
45 }

 

codeforces 349 div2.c

标签:

原文地址:http://www.cnblogs.com/shimu/p/5540382.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!