白駿10219 Meats on The Grill


質問する


Coders High 2014が終わりました.パーティーがキャンセルになったので,参加者は次々と夕食を食べに行った.人々が集まって食べる夕食の中で、最も大衆化したのは肉です!ColderHighの出題チームも焼肉屋に来て肉を注文した.明宇は焼肉の重任を引き受けたので、肉を焼き皿に置いた.問題解決能力に優れた明宇は、焼き皿の肉を以下のようにモデリングすることにした.
편의상 불판을  H × W개의 칸으로 이루어진 격자로 나타내기로 하고, 고기는 격자의 여러 칸 위에 걸쳐 있는 것으로 표현한다. 또한 고기가 격자 위에 올라와 있으면, 격자를 가득 채우게 된다고 생각한다.
しばらくして、今下の麺がちょうどよく焼けて、肉をひっくり返す時間になりました.

同じ塊に属する肉は、ひっくり返すとひっくり返す.最初の絵は肉が元の焼き皿にある状態です2枚目の絵は肉を左右対称にひっくり返した絵と言える.3枚目の図は肉をひっくり返したが、肉は焼き皿の格子に正しく置かれていない.明宇はこの状況が大嫌いなので、そんなに寝返りを打つことはありません.4枚目の図は反転して右へ90˚回転する形ですが、この形でもいいです.˚, 270˚に変換することもできます.
明祐は肉を焼き皿に乗せたまま、肉の一枚一枚をひっくり返そうとした.明宇は完璧主義者で、すべての肉がひっくり返った後、肉が重なるのが大嫌いだ.明宇にどうやって肉を重ねないか教えて!
入力
入力ファイルの最初の行には、テストケース数を表す自然数Tが与えられる.そしてT個のテストケースです.
各テストケースの第1行では、メッシュサイズを表す2つの整数H、W(1≦H、W≦11)が空白に分割される.
次のH行では、1行にW文字のスペースがない仏板の状態になりました.文字は小文字または「.」アルファベットが同じ場合、同じ肉に属することを表す.同じブロックに属するということは、これらのグリッドを上下左右に移動するだけで、他のすべての同じブロックのグリッドにアクセスできることを意味します.
しゅつりょく
各試験箱は、各肉塊を反転させたオーブンの状態をH行で出力する.各行にW文字が必要で、入力で与えられた肉塊ごとに反転します.これに満足する答えはすべて正しい答えと見なされます.
入力例1
1
3 4
abbb
aabb
aa..
サンプル出力1
.abb
aabb
aa.b

解法


難しい質問のようですが、簡単な答えがあります.
グリル全体をひっくり返すと、肉も自分でひっくり返します.
最初のコードはキャンバスを上下に逆さまにした.
2番目のコードはキャンバスを左右に反転させた.
どちらも正解

コード1

for _ in range(int(input())):
    H, W = map(int, input().split())
    grill = [list(map(str, input())) for _ in range(H)]
    for row in reversed(grill):
        print(*row, sep='')

コード2

for _ in range(int(input())):
    H, W = map(int, input().split())
    grill = [list(map(str, input())) for _ in range(H)]
    for row in grill:
        print(*row[::-1], sep='')
白駿10219 Meats on The Grill