题目描述
给出一个01字符串(长度不超过100),求其每一个子串出现的次数。
输入描述:
输入包含多行,每行一个字符串。
输出描述:
对每个字符串,输出它所有出现次数在1次以上的子串和这个子串出现的次数,输出按字典序排序。
示例1
输出
复制0 2 01 2 1 3 10 2
101 2
#include<iostream>
#include<map>
using namespace std;
map<string,int>mp;
int main()
{
string s;
while(cin>>s)
{
for(int i=0;i<s.size();i++)
{
string ans="";
for(int j=i;j<s.size();j++)
{
ans+=s[j];
mp[ans]++;
}
}
map<string,int>::iterator it;
for(it=mp.begin();it!=mp.end();it++)
{
if(it->second>1)
{
cout<<it->first<<' '<<it->second<<endl;
}
}
}
return 0;
}