http://acm.pku.edu.cn/JudgeOnline/problem?id=1146
Код:
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main()
{
string s;
int i;
for(;;) {
cin >> s;
if(s=="#") break;
for(i=s.size()-1;i>0;--i)
if(s[i] > s[i-1]) break;
if(i==0) cout << "No Successor" << endl;
else {
next_permutation(s.begin(), s.end());
cout << s << endl;
}
}
return 0;
}