if文、for文等、習ったことのまとめ問題だよ。文字を扱うようになる前に是非。
文句はei1640とかいうアホに投げましょう。
ヒントと解説
slide shareともspeaker deckとも仲良くなれなかったので、頑張ってみてください。(全画面にしたら多分いける)
3ページ目まではヒントになってます。それ以降のページは、操作1と2の解説になっています。
これをみても解けなかった人は、誰かしらに聞いて頑張って下さい。(本当に基本的な問題なので)
問題
Xyca.ちゃんの部屋は、h × wの大きさで、縦にh、横にwずつ区切られています。
そこに、物が置いてあります。
Xyca.ちゃんはあたまわるわるなので、部屋の掃除ができません。(本当に)
まみー(母)に、「部屋の掃除をしなさい」と言われてしまったのです。
まみーに言われたからには仕方ない。
部屋の掃除ついでに、模様替えもしてしまおうとか、余計なことを考え始めました。
Xyca.ちゃんはあたまがなかったようなので、部屋の掃除・模様替えといえど、簡単な操作をいくつかするだけのようです。
- ある行に置いてあるものの位置をひっくり返す。
- ある列に置いてあるものの位置をひっくり返す。
- ある場所に置いてあるものを、別のものに置き換える
Xyca.ちゃんが模様替えを行った後の部屋を教えてください。
入力
h w mp0 0 mp0 1 ... mp1 w-1 mp1 0 mp1 1 ... mp2 w-1 ... mph-1 0 mph-1 1 ... mph-1 w-1 操作が入力されます
操作は以下のように入力されます。
ある行に置いてあるものの位置をひっくり返す。
最初に「1」と入力される。続いて、ひっくり返す操作をする行番号が入力される。
1 y
ある列に置いてあるものの位置をひっくり返す。
最初に「2」と入力される。続いて、ひっくり返す操作をする列番号が入力される。
2 x
ある場所に置いてあるものを、別のものに置き換える。
最初に「3」と入力される。続いて、ひっくり返すものの場所を示す座標と、置き換えるものが入力される。
3 y x a
最後に、「0」が入力される。
出力
操作を全て終えた後のXyca.ちゃんの部屋を出力してください。
制約
- 3 <= h,w <= 30
- 0 <= mpy x <= 9
操作に関する制約
- 1つめに入力されるのは、0~3の数字です。
- 行・列を示す数は、それぞれ0以上、 w, h未満の数です。
- 置き換えるものは、0~9の数です。
- 操作の回数は、「0」の入力も含めて最大100回です。
入出力例
入力例1
5 5 1 3 2 7 9 5 8 7 4 6 3 6 9 1 1 3 1 5 9 6 9 4 3 4 2 1 2 2 1 3 3 4 1 0
出力例1
1 4 2 7 9 5 1 7 4 6 1 1 9 6 3 3 8 5 9 1 9 3 3 4 2
Xyca.氏からのヒント(!?)
入力例2
6 6 5 1 6 1 9 7 6 7 8 1 3 5 3 6 3 2 0 0 1 2 7 3 6 9 4 9 3 5 1 6 4 3 8 2 1 6 2 1 2 3 1 0 3 1 2 5 3 1 4 7 0
出力例1
7 9 2 6 3 5 6 9 5 5 7 5 3 2 3 3 0 0 1 6 7 2 6 9 4 7 3 1 1 6 4 1 8 1 1 6