考え方
行列を転置→ソートして一致するかどうかを見れば良い.Pythonではリストの転置をzipを使って簡単に表現できる:
Pythonで転置行列 - 競プロはじめました
回答例
H, W = map(int, input().split()) S = [list(input()) for _ in range(H)] T = [list(input()) for _ in range(H)] S = sorted(list(zip(*S))) T = sorted(list(zip(*T))) if S == T: print('Yes') else: print('No')
アライグマ「ABC279だったのだ! C問題は「Sの列を自由に並び替えてTにできるか」を「S,T両方の列を自由に並び替えて一致させられるか」と読み替えるのだ。そうしたら、同じように並び変えたいから、例えば文字列としてソートすればいいのだ!」
— 競技プログラミングをするフレンズ (@kyopro_friends) November 26, 2022