题目描述
给出一个01字符串(长度不超过100),求其每一个子串出现的次数。
输入描述:
输入包含多行,每行一个字符串。
输出描述:
对每个字符串,输出它所有出现次数在1次以上的子串和这个子串出现的次数,输出按字典序排序。
示例1
输入
10101
输出
0 2 01 2 1 3 10 2 101 2
AC_CODE:
#include<bits/stdc++.h>
using namespace std;
int a[30][10];
map<string, int> mp;
int main()
{
string s; cin >> s;
for (int i = 0; i < s.length(); i++)
{
for (int j = 1; j < s.length() - i; ++j)
{
mp[s.substr(i, j)]++;
}
}
for (auto x : mp)
{
if (x.second > 1)
cout << x.first << " " << x.second << endl;
}
}