首页 > 其他 > 详细

hihocoder#1152 : Lucky Substrings

时间:2015-11-20 16:48:29      阅读:280      评论:0      收藏:0      [点我收藏+]
字串处理操作,用到了stl的排序和去重

#include <cstdio>
#include <cstring>
#include <vector>
#include <string>
#include <iostream>
#include <algorithm>
using namespace std;

int fib[]={1,2,3,5,8,13,21,34,55,89};
vector<string>sub;

int main()
{
    char line[210];
    while(scanf("%s",line)!=EOF)
    {
        sub.clear();
        int len = strlen(line);
        for(int i = 0; i < len; i++)
            for(int j = i; j < len; j++)
            {
                int low[30]={0},sum = 0,flag = 0;
                for(int k = i; k <= j; k++)
                    low[line[k]-a] ++;
                for(int k = 0; k < 26; k++)
                    if(low[k]) sum++;

                for(int k = 0; k < 10; k++)
                    if(sum == fib[k])
                    {
                        flag = 1;
                        break;
                    }
                if(flag)
                {
                    string tmp="";
                    for(int k = i; k <= j; k++)
                        tmp+=line[k];
                    sub.push_back(tmp);
                }
            }
        sort(sub.begin(),sub.end());
        vector<string>::iterator it_u = unique(sub.begin(),sub.end());
        sub.erase(it_u,sub.end());
        vector<string>::iterator it=sub.begin(),ed = sub.end();
        for(;it != ed; it++)
        {
            cout<<*it<<endl;
        }
    }
    return 0;
}

 

 

hihocoder#1152 : Lucky Substrings

原文:http://www.cnblogs.com/zendu/p/4980986.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!