n, m = [int(x) for x in input().split()]
board = [''] * (n+1)
board[0] = [''] * (m+1)
for i in range(n):
row = input()
board[i+1] = [''] * (m+1)
for j in range(m):
board[i+1][j+1] = row[j]
moves = []
flag = True
while flag:
start = len(moves)
for i in range(1,n+1):
if board[i][0] == "#":
break
txt = "".join(board[i][1:])
txt = "".join([c for c in txt if c != "#"])
if len(txt) == 0:
board[i][0] = "#"
if len(txt) > 0 and txt == len(txt) * txt[0]:
moves.append("R " + str(i) + " " + txt[0])
for ii in range (1,m+1):
board[i][ii] = "#"
for j in range(1,m+1):
if board[0][j] == "#":
break
txt = ""
for i in range(1,n+1):
txt += board[i][j]
txt = "".join([c for c in txt if c != "#"])
if len(txt) == 0:
board[0][j] = "#"
if len(txt) > 0 and txt == len(txt) * txt[0]:
moves.append("K " + str(j) + " " + txt[0])
for jj in range (1,n+1):
board[jj][j] = "#"
end = len(moves)
if start == end:
flag = False
print(len(moves))
for p in moves[::-1]:
print(p)
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 | n, m = [int(x) for x in input().split()] board = [''] * (n+1) board[0] = [''] * (m+1) for i in range(n): row = input() board[i+1] = [''] * (m+1) for j in range(m): board[i+1][j+1] = row[j] moves = [] flag = True while flag: start = len(moves) for i in range(1,n+1): if board[i][0] == "#": break txt = "".join(board[i][1:]) txt = "".join([c for c in txt if c != "#"]) if len(txt) == 0: board[i][0] = "#" if len(txt) > 0 and txt == len(txt) * txt[0]: moves.append("R " + str(i) + " " + txt[0]) for ii in range (1,m+1): board[i][ii] = "#" for j in range(1,m+1): if board[0][j] == "#": break txt = "" for i in range(1,n+1): txt += board[i][j] txt = "".join([c for c in txt if c != "#"]) if len(txt) == 0: board[0][j] = "#" if len(txt) > 0 and txt == len(txt) * txt[0]: moves.append("K " + str(j) + " " + txt[0]) for jj in range (1,n+1): board[jj][j] = "#" end = len(moves) if start == end: flag = False print(len(moves)) for p in moves[::-1]: print(p) |
English