結果
問題 |
No.2768 Password Crack
|
ユーザー |
|
提出日時 | 2024-06-01 15:01:16 |
言語 | Rust (1.83.0 + proconio) |
結果 |
AC
|
実行時間 | 99 ms / 2,000 ms |
コード長 | 1,002 bytes |
コンパイル時間 | 14,426 ms |
コンパイル使用メモリ | 401,748 KB |
実行使用メモリ | 25,232 KB |
平均クエリ数 | 1785.17 |
最終ジャッジ日時 | 2024-12-22 00:37:57 |
合計ジャッジ時間 | 18,918 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 29 |
ソースコード
use proconio::{input, source::line::LineSource}; use std::{ collections::HashMap, io::{stdin, BufReader}, }; fn main() { let stdin = stdin(); let mut source = LineSource::new(BufReader::new(stdin.lock())); input! { from &mut source, n: usize, } let mut base: Vec<_> = (0..n).map(|_| 'a').collect(); for i in 0..n { let mut score = HashMap::new(); // z なし for c in 'a'..'z' { let mut t = base.clone(); t[i] = c; let text: String = t.iter().collect(); println!("? {}", text); input! { from &mut source, hit: usize, } score.insert(hit, c); } if score.len() == 1 { base[i] = 'z'; } else { let max_c = score.iter().max().unwrap(); base[i] = *max_c.1; } } let text: String = base.iter().collect(); println!("! {}", text); }