子串计算

题目描述

给出一个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;
	}
}

猜你喜欢

转载自blog.csdn.net/qq_31741481/article/details/84931774