字符串解析
北京理工大学2019年机试
题目描述
Time Limit: 1000 ms
Memory Limit: 256 mb
字符串解析 将字符串看成不同的字符切片 切片不可重复 按字母序输出所有切片 每个切片一行
输入输出格式
输入描述:
如题
输出描述:
如题
输入输出样例
输入样例#:
aaabbcaaabaa
输出样例#:
aa aaa b bb c
解题方法
思路
利用字符串截取函数substr和字符串删除函数erase以及map容器按字典序排列的特性
代码
#include <bits/stdc++.h>
using namespace std;
int main(){
string s;
while(cin>>s){
map<string,int> mp;
string str;
while(s!=""){
int i;
for(i=1;i<s.size();i++){
if(s[i]!=s[0]) break;
}
str = s.substr(0,i);
mp[str]++;
s.erase(0,i);
}
map<string,int>::iterator it;
for(it=mp.begin();it!=mp.end();it++){
cout<<it->first<<endl;
}
}
return 0;
}