diff options
| author | Yuval Adam <yuv.adm@gmail.com> | 2011-04-17 23:17:06 +0300 |
|---|---|---|
| committer | Yuval Adam <yuv.adm@gmail.com> | 2011-04-17 23:17:06 +0300 |
| commit | 941ecaed1d2cc617e7453ab16ed25dbb47a7d23b (patch) | |
| tree | 55843509f273943ec7be9beeece8593c4b69d9d9 /2010/1a | |
| parent | 0e77307a7e7b83603145167dc285ed1f9da650d0 (diff) | |
finalized, starting to test
Diffstat (limited to '2010/1a')
| -rw-r--r-- | 2010/1a/1.out | 4 | ||||
| -rw-r--r-- | 2010/1a/a.py | 11 |
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) |
