結果

問題 No.927 Second Permutation
ユーザー cra77756176
提出日時 2022-12-18 00:13:37
言語 Rust
(1.83.0 + proconio)
結果
AC  
実行時間 3 ms / 2,000 ms
コード長 563 bytes
コンパイル時間 13,171 ms
コンパイル使用メモリ 378,384 KB
実行使用メモリ 5,248 KB
最終ジャッジ日時 2024-11-17 08:19:10
合計ジャッジ時間 14,203 ms
ジャッジサーバーID
(参考情報)
judge5 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 27
権限があれば一括ダウンロードができます

ソースコード

diff #

fn main() {
    let mut x = String::new();
    std::io::stdin().read_line(&mut x).ok();
    let mut x: Vec<char> = x.trim().chars().collect();

    x.sort_unstable();
    x.reverse();

    let last = x[x.len() - 1];
    match x.iter().rposition(|&n| n != last) {
        None => println!("-1"),
        Some(0) if last == '0' => println!("-1"),
        Some(i) => {
            let j = x.iter().position(|&n| n == last).unwrap();
            x.swap(i, j);

            let answer: String = x.iter().collect();

            println!("{answer}");
        }
    }
}
0