結果
問題 | No.305 鍵(2) |
ユーザー |
|
提出日時 | 2020-04-29 18:06:39 |
言語 | Rust (1.83.0 + proconio) |
結果 |
AC
|
実行時間 | 28 ms / 2,000 ms |
コード長 | 830 bytes |
コンパイル時間 | 11,956 ms |
コンパイル使用メモリ | 405,428 KB |
実行使用メモリ | 25,220 KB |
平均クエリ数 | 50.62 |
最終ジャッジ日時 | 2024-07-17 02:41:10 |
合計ジャッジ時間 | 13,420 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 13 |
ソースコード
fn input(a: &[usize]) -> (usize, String) { for i in 0..10 { print!("{}", a[i]); } println!("",); let mut s: String = String::new(); std::io::stdin().read_line(&mut s).ok(); let mut itr = s.trim().split_whitespace(); let n = itr.next().unwrap().parse().unwrap(); let s = itr.next().unwrap().to_string(); (n, s) } fn main() { let mut ans = vec![9; 10]; let mut target = 0; let res = input(&ans); if res.1 == "unlocked" { return; } let mut same = res.0; loop { ans[target] -= 1; let (n, s) = input(&ans); if s == "unlocked" { break; } if n > same { same = n; target += 1; } else if n < same { ans[target] += 1; target += 1; } } }