#include<iostream> #include<string> #include<map> using namespace std; //例题10.9 子串计算 int main() { //10101 string s; while (cin >> s) { map<string, int> maps; for (int i = 0; i < s.size(); i++) { for (int j = 1; i + j <= s.size(); j++) { string s1 = s.substr(i, j); if (maps.find(s1) == maps.end()) { maps[s1] = 0; } maps[s1] += 1; } } for (auto it : maps) { if (it.second > 1) { cout << it.first << " " << it.second << endl; } } } return 0; }