結果
| 問題 | No.3685 ワロングアンサーやんけ! |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2026-09-05 14:48:43 |
| 言語 | Rust (1.97.1 + proconio + num + itertools) |
| 結果 |
AC
|
| 実行時間 | 50 ms / 2,000 ms |
| + 254µs | |
| コード長 | 1,270 bytes |
| 記録 | |
| コンパイル時間 | 3,541 ms |
| コンパイル使用メモリ | 200,584 KB |
| 実行使用メモリ | 9,768 KB |
| 最終ジャッジ日時 | 2026-09-05 14:48:51 |
| 合計ジャッジ時間 | 6,222 ms |
|
ジャッジサーバーID (参考情報) |
judge7_0 / judge6_0 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | AC * 32 |
ソースコード
use proconio::{fastout, input, marker::Chars};
fn solve() -> String {
input! {
r: Chars,
s: String,
k: usize,
}
let mut ans = r.clone();
let [w, q] = ans[k..].iter().fold([0; 2], |mut acc, &c| {
if c == 'W' {
acc[0] += 1
} else if c == '?' {
acc[1] += 1
}
acc
});
if s == "Warong" {
for i in 0..k {
ans[i] = 'A';
}
if w == 0 && q == 1 {
for c in ans[k..].iter_mut() {
if *c == '?' {
*c = 'W';
}
}
}
} else {
if r[0..k].iter().all(|&c| c == 'A') {
for c in &mut ans[k..] {
if *c == '?' {
*c = 'A';
}
}
}
if w > 0 {
let a = ans[0..k].iter().filter(|&&c| c == 'A').count();
if a == k - 1 {
for c in &mut ans[0..k] {
if *c == '?' {
*c = 'W';
}
}
}
}
}
ans.iter().collect()
}
#[fastout]
fn main() {
input! {
t: usize,
}
for _ in 0..t {
println!("{}", solve());
}
}