use std::io::stdin; /// エントリポイント fn main() { let input = read_lines(); println!("{}", checkered_pattern(input)); } /// 標準入力から文字列を取得します。 fn read_lines() -> String { // 1行目 let mut str1 = String::new(); stdin().read_line(&mut str1).unwrap(); str1 } /// 市松模様の文字列を返します。 fn checkered_pattern(input: String) -> String { let sp = input.trim().split_whitespace().collect::>(); let width = sp[0].parse::().unwrap(); let height = sp[1].parse::().unwrap(); let mut color = sp[2]; let mut pattern = String::new(); for _i in 0..height { for _i in 0..width { if color == "B" { pattern += "B"; color = "W"; } else { pattern += "W"; color = "B"; } } pattern += "\n"; // TODO: 幅が偶数の場合は反転 if width % 2 == 0 { if color == "W" { color = "B" } else { color = "W" } } } pattern.trim().to_string() }