summaryrefslogtreecommitdiff
path: root/2010/1a
diff options
context:
space:
mode:
Diffstat (limited to '2010/1a')
-rw-r--r--2010/1a/1.out4
-rw-r--r--2010/1a/a.py11
2 files changed, 10 insertions, 5 deletions
diff --git a/2010/1a/1.out b/2010/1a/1.out
index e69de29..5d8f168 100644
--- a/2010/1a/1.out
+++ b/2010/1a/1.out
@@ -0,0 +1,4 @@
+Case #1: Neither
+Case #2: Both
+Case #3: Red
+Case #4: Blue
diff --git a/2010/1a/a.py b/2010/1a/a.py
index 6a8dd80..2c89c84 100644
--- a/2010/1a/a.py
+++ b/2010/1a/a.py
@@ -9,10 +9,8 @@ def diag(m):
n = len(m)
d = [zip(range(i+1) ,range(i+1)[::-1]) for i in range(n)]
d += [zip(range(i+1, n) ,range(i+1, n)[::-1]) for i in range(n-1)]
- print d
return [''.join([m[i][j] for (i,j) in diag]) for diag in d]
-
def diag_inv(m):
n = len(m)
d = [zip(range(i+1),range(i+1)[::-1]) for i in range(n)]
@@ -44,7 +42,10 @@ def win(m, k):
win |= winrow(row, k)
for col in cols(m):
win |= winrow(col, k)
-
+ for dia in diag(m):
+ win |= winrow(dia, k)
+ for idia in diag_inv(m):
+ win |= winrow(idia, k)
return R[win]
t = int(f.readline().strip())
@@ -54,7 +55,7 @@ for i in range(t):
mat = [f.readline().strip() for j in range(n)]
mat = rotate(gravity(mat))
-
- s = "Case #%d: \n%s\n" % (i+1, win(1))
+
+ s = "Case #%d: %s\n" % (i+1, win(mat, k))
print s
o.write(s)