; 市松模様は ; a11 a12 ... a1w ; a21 a22 ... a2w ; ... ... aij ... ; ah1 ah2 ... ahw ; という座標のとき (i + j) の偶奇によって W か B が決まる (defun main () (let* ((w (read)) (h (read)) ; read-char &optional input-stream eof-error-p eof-value recursive-p ⇒ char ; 入力ストリームから1文字読み込む (c (read-char)) ; char= 文字を比較する 同じであれば t (d (if (char= c #\B) #\W #\B))) (dotimes (i h) (dotimes (j w) ; write-char 出力ストリームへ1文字出力 (write-char ; evenp 偶数かどうか判定する (if (evenp (+ i j)) c d))) (terpri)))) (main)