#!/usr/bin/python3 # Autor: Petr Budai def vyres(pocet_pixelu, zobrazuje, nazvy_zastavek): ''' Procházím pixely porouchaného displeje, zajímá mě počet zastávek, které by se na porouchaném displeji mohly zobrazit. Po projití všech pixelů mám počet zastávek, které mají zapnuté stejné pixely jako rozbitý displej (a nejspíš také nějaké další). Když je počet zastávek 1, porouchaný displej je jednoznačný, jinak není. Pokud je v porouchaném displeji zapnutý pixel, tak chci všechny zastávky bez tohoto zapnutého pixelu ignorovat. ''' zastavky = nazvy_zastavek.copy() for i in range(pocet_pixelu): if zobrazuje[i] == "x": j = 0 while j < len(zastavky): if zastavky[j][i] != ".": j += 1 else: del zastavky[j] if len(zastavky) == 1: return True return False # Načítání vstupu vstup = input().split() R = int(vstup[0]) S = int(vstup[1]) N = int(vstup[2]) M = int(vstup[3]) # Názvy zastávek ukládám v poli, jedna buňka pole je jedna zastávka zapsaná jako string nazvy_zastavek = [] for i in range(N): nazvy_zastavek.append(str(input())) for _ in range(R-1): nazvy_zastavek[i] += str(input()) # Načtu vadný displej jako jeden string a kontroluji, jestli je jednoznačný for i in range(M): vadny_displej = "" for _ in range(R): vadny_displej += str(input()) if vyres(R*S, vadny_displej, nazvy_zastavek) == True: print("ano") else: print("ne")