/*
描述
对于一个字符串,将其后缀子串进行排序,例如grain 其子串有: grain rain ain in n 然后对各子串按字典顺序排序,即: ain,grain,in,n,rain
输入描述:
每个案例为一行字符串。
输出描述:
将子串排序输出
*/
#include <iostream> #include <string> #include <algorithm> #include <vector> using namespace std; int main() { string s; cin >> s; vector<string> a(s.size()); for (int i = 0; i < s.size(); i++) { a[i] = s.substr(i, s.size() - i); } sort(a.begin(), a.end()); for (int i = 0; i < s.size(); i++) { cout << a[i] << endl; } return 0; }