結果
問題 |
No.927 Second Permutation
|
ユーザー |
![]() |
提出日時 | 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 |
ソースコード
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}"); } } }