ABC054 B - Template Matching
緑Diffひたすら解いて精進中。。。
この問題自体はあまりハマるところはなかったけど、Yes/Noの出力が何とかならんかなあと思い、今更、三項演算子の使い方を知る。毎回書いてもいいレベルかもしれない。 関数内にいろいろ隠ぺいしようと思ったけど、論理を投げ込む方が、呼び出し元から分かりやすい気もして、行数は変わらないけど、この辺が落としどころかなあと。
def yn(isYes): print("Yes") if isYes else print("No") return def resolve(): N,M=map(int,(input().split())) A=[""]*N B=[""]*M for i in range(N): A[i]=input() for i in range(M): B[i]=input() found=False for ii in range(N-M+1): for jj in range(N-M+1): isOK=True for i in range(M): for j in range(M): if(A[ii+i][jj+j]!=B[i][j]): isOK=False if(isOK): found=True yn(found)