day 4, basic grid processing
This commit is contained in:
parent
9638fb3ee5
commit
1153fac5fe
|
@ -0,0 +1,26 @@
|
|||
import sys, os
|
||||
|
||||
L = sys.stdin.read().strip().split("\n")
|
||||
G = [list(l) for l in L]
|
||||
H = len(G)
|
||||
W = len(G[0])
|
||||
|
||||
M4 = [(0,1),(0,-1),(1,0),(-1,0)]
|
||||
D4 = [(1,1),(-1,-1),(1,-1),(-1,1)]
|
||||
M8 = M4 + D4
|
||||
|
||||
S = 0
|
||||
for i in range(H): # rows
|
||||
for j in range(W): # cols
|
||||
if G[i][j] == "X":
|
||||
for (dx,dy) in M8:
|
||||
xi = i
|
||||
yj = j
|
||||
for l in 'MAS':
|
||||
xi += dx
|
||||
yj += dy
|
||||
if xi<0 or xi>=H or yj<0 or yj>=W or G[xi][yj]!=l:
|
||||
break
|
||||
else: # if the inner loop wasn't broken.
|
||||
S += 1
|
||||
print(S)
|
|
@ -0,0 +1,16 @@
|
|||
import sys, os
|
||||
|
||||
L = sys.stdin.read().strip().split("\n")
|
||||
G = [list(l) for l in L]
|
||||
H = len(G)
|
||||
W = len(G[0])
|
||||
|
||||
S = 0
|
||||
for i in range(1,H-1): # rows
|
||||
for j in range(1, W-1): # cols
|
||||
if G[i][j] == "A":
|
||||
for P in ["MMSS", "SMMS", "SSMM", "MSSM"]:
|
||||
if G[i-1][j-1] == P[0] and G[i-1][j+1] == P[1] \
|
||||
and G[i+1][j+1] == P[2] and G[i+1][j-1] == P[3]:
|
||||
S+=1
|
||||
print(S)
|
Loading…
Reference in New Issue