这里使用了map,注意怎么遍历。
#include <iostream>
#include <string>
#include <algorithm>
#include <map>
using namespace std;
int main(){
string s, tmp;
while(cin >> s){
map<string,int> m;
int len = s.length();
for(int i = 0; i < len; i++){
for(int j = 1; j <= len-i; j++){
tmp = s.substr(i, j);
if(m.find(tmp) != m.end()){
m[tmp]++;
}else{
m[tmp] = 1;
}
}
}
for(auto it = m.begin(); it != m.end(); it++){
if(it -> second > 1){
cout << it->first << " " << it->second << endl;
}
}
}
return 0;
}
京公网安备 11010502036488号