#include<iostream> using namespace std; #include<string> #include<map> //map用于存储键值对,map默认按照升序排序,基于 < 运算符 int main() { string s; cin >> s; map<string, int>m;//string类型是键,int类型是值 for (int i = 0; i < s.size(); i++) {//此步遍历所有子串,并统计数目 for (int j = 1; j <= s.size() - i; j++) { m[s.substr(i, j)]++;//substr(pos, len) } } for (auto it = m.begin(); it != m.end(); it++) { if (it->second > 1) cout << it->first << " " << it->second << endl; } return 0; }