fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. string HV_kt (string s)
  5. {
  6. int n = s.length();
  7. int i = n - 1 - 1;
  8. while (i>=0 && s[i]>=s[i+1]) i--;
  9. if (i>=0)
  10. {
  11. int vt;
  12. for (int j = n-1; j>=0; j--)
  13. if (s[j]>s[i])
  14. {
  15. vt = j;
  16. break;
  17. }
  18.  
  19. char tmp = s[vt];
  20. s[vt] = s[i];
  21. s[i] = tmp;
  22.  
  23. int l = i+1, r=n-1;
  24. while (l<=r)
  25. {
  26. tmp = s[l];
  27. s[l] = s[r];
  28. s[r] = tmp;
  29.  
  30. l++;
  31. r--;
  32. }
  33. return s;
  34. }
  35. return "BIGGEST";
  36. }
  37.  
  38. int main ()
  39. {
  40. int t;
  41. cin>>t;
  42. string s;
  43. while (1)
  44. {
  45. if (t==0) break;
  46. t--;
  47. cin>>s;
  48. cout<<HV_kt (s)<<endl;
  49. }
  50. return 0;
  51. }
Success #stdin #stdout 0s 4404KB
stdin
4
ccd
tv
wolf
fnf
stdout
cdc
vt
BIGGEST
nff