From 941ecaed1d2cc617e7453ab16ed25dbb47a7d23b Mon Sep 17 00:00:00 2001 From: Yuval Adam Date: Sun, 17 Apr 2011 23:17:06 +0300 Subject: finalized, starting to test --- 2010/1a/1.out | 4 ++++ 2010/1a/a.py | 11 ++++++----- 2 files changed, 10 insertions(+), 5 deletions(-) (limited to '2010') 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) -- cgit v1.3.1