import sys
input = sys.stdin.readline
############ ---- Input Functions ---- ############
def inp():
return(int(input()))
def inlt():
return(list(map(int,input().split())))
def insr():
s = input()
return(list(s[:len(s) - 1]))
def invr():
return(map(int,input().split()))
def suma(lista):
return(sum(int(x) for x in lista))
[a, b] = inlt()
cel = []
for i in range(a):
wiersz = insr()
cel.append(wiersz)
def jest_ok(wiersz):
elty = set(wiersz)
if elty == {"0"}:
return "0"
elty = elty - set(["0"])
if len(elty) == 1:
return elty.pop()
else:
return False
wiersze_do_zmienienia = [i for i in range(a)]
kolumny_do_zmienienia = [i for i in range(b)]
kroki = []
while (len(wiersze_do_zmienienia) + len(kolumny_do_zmienienia) > 0 ):
for k in wiersze_do_zmienienia:
dasie = (jest_ok(cel[k]))
if dasie:
wiersze_do_zmienienia.remove(k)
if dasie != "0":
kroki.append("R " + str(k+1) + " "+ dasie)
cel[k] = ["0" for i in range(b)]
if (len(wiersze_do_zmienienia) + len(kolumny_do_zmienienia) == 0):
break
for k in kolumny_do_zmienienia:
kolumna = [i[k] for i in cel]
dasie = (jest_ok(kolumna))
if dasie:
kolumny_do_zmienienia.remove(k)
if dasie != "0":
kroki.append("K " + str(k+1) + " "+ dasie)
for i in range(a):
cel[i][k] = "0"
print(len(kroki))
for i in range (len(kroki)-1, -1, -1):
print(kroki[i])
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 | import sys input = sys.stdin.readline ############ ---- Input Functions ---- ############ def inp(): return(int(input())) def inlt(): return(list(map(int,input().split()))) def insr(): s = input() return(list(s[:len(s) - 1])) def invr(): return(map(int,input().split())) def suma(lista): return(sum(int(x) for x in lista)) [a, b] = inlt() cel = [] for i in range(a): wiersz = insr() cel.append(wiersz) def jest_ok(wiersz): elty = set(wiersz) if elty == {"0"}: return "0" elty = elty - set(["0"]) if len(elty) == 1: return elty.pop() else: return False wiersze_do_zmienienia = [i for i in range(a)] kolumny_do_zmienienia = [i for i in range(b)] kroki = [] while (len(wiersze_do_zmienienia) + len(kolumny_do_zmienienia) > 0 ): for k in wiersze_do_zmienienia: dasie = (jest_ok(cel[k])) if dasie: wiersze_do_zmienienia.remove(k) if dasie != "0": kroki.append("R " + str(k+1) + " "+ dasie) cel[k] = ["0" for i in range(b)] if (len(wiersze_do_zmienienia) + len(kolumny_do_zmienienia) == 0): break for k in kolumny_do_zmienienia: kolumna = [i[k] for i in cel] dasie = (jest_ok(kolumna)) if dasie: kolumny_do_zmienienia.remove(k) if dasie != "0": kroki.append("K " + str(k+1) + " "+ dasie) for i in range(a): cel[i][k] = "0" print(len(kroki)) for i in range (len(kroki)-1, -1, -1): print(kroki[i]) |
English