結果

問題 No.3685 ワロングアンサーやんけ!
コンテスト
ユーザー Nanashi.
提出日時 2026-09-05 15:10:16
言語 Ruby
(4.0.6)
コンパイル:
ruby -w -c _filename_
実行:
ruby _filename_
結果
AC  
実行時間 544 ms / 2,000 ms
+ 261µs
コード長 904 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 9 ms
コンパイル使用メモリ 8,832 KB
実行使用メモリ 26,880 KB
最終ジャッジ日時 2026-09-05 15:10:39
合計ジャッジ時間 7,325 ms
ジャッジサーバーID
(参考情報)
judge2_0 / judge5_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1
other AC * 32
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #
raw source code

# frozen_string_literal: true
in_t = gets.chomp.to_i

in_t.times do
  in_r = gets.chomp.chars
  in_s = gets.chomp
  in_k = gets.chomp.to_i
  if in_s == "Warong"
    has_w = false
    question_index = -1
    in_r.size.times do |k|
      if k < in_k
        in_r[k] = "A"
      elsif in_r[k] == "W"
        has_w = true
      elsif in_r[k] == "?"
        if question_index == -1
          question_index = k
        else
          question_index = -2
        end
      end
    end
    in_r[question_index] = "W" if !has_w && question_index >= 0
  else
    has_w = (in_k...(in_r.size)).any? { |k| in_r[k] == "W" }
    first_k_is_a = (0...in_k).select { |k| in_r[k] == "A" }
    if first_k_is_a.size == in_k
      (in_k...(in_r.size)).each { |k| in_r[k] = "A" }
    elsif first_k_is_a.size == in_k - 1 && has_w
      (0...in_k).each { |k| in_r[k] = "W" if in_r[k] == "?" }
    end
  end
  puts in_r.join
end
0