[yukicoder] No. 927 Second Permutation
問題
方針
順列に関する問題です。ライブラリの prev_permutation() を利用しましょう。
コード
#include <bits/stdc++.h> using namespace std; typedef long long ll; int main() { string X; cin >> X; int l = X.length(); vector<int> a(l); for (int i = 0; i < l; i++) { a[i] = X[i] - '0'; } sort(a.begin(), a.end(), greater<int>()); if (prev_permutation(a.begin(), a.end())) { if (a[0] == 0) { cout << "-1"; } else { for (int i : a) { cout << i; } cout << "\n"; } } else { cout << "-1\n"; } return 0; }
ディスカッション
コメント一覧
まだ、コメントがありません