summaryrefslogtreecommitdiff
path: root/2010/1a/a.py
diff options
context:
space:
mode:
authorYuval Adam <yuv.adm@gmail.com>2011-04-16 00:57:41 +0300
committerYuval Adam <yuv.adm@gmail.com>2011-04-16 00:57:41 +0300
commit081b15824663b9a6e74b31da236522ed69df8499 (patch)
treebeb60a5dedb9d2a466927f26fa6d731b01ec3b15 /2010/1a/a.py
parent354967bfde9a3c5359dfc62287d2748ad89ae531 (diff)
got the gravity down, have a bug to fix
Diffstat (limited to '2010/1a/a.py')
-rw-r--r--2010/1a/a.py15
1 files changed, 13 insertions, 2 deletions
diff --git a/2010/1a/a.py b/2010/1a/a.py
index 75472fe..e96a53e 100644
--- a/2010/1a/a.py
+++ b/2010/1a/a.py
@@ -6,14 +6,25 @@ def rotate(m):
n = len(m)
return [''.join([m[j][i] for j in range(n)[::-1]]) for i in range(n)]
+# drop a single row
+def droprow(r):
+ n = len(r)
+ for i in range(n)[::-1]:
+ if r[i] != '.':
+ return r[i+1:]+r[:i+1]
+ return r
+
+# drop the rotated matrix
+def gravity(m):
+ return map(droprow, m)
+
t = int(f.readline().strip())
for i in range(t):
(n, k) = map(int, f.readline().strip().split(' '))
mat = [f.readline().strip() for j in range(n)]
-
- res = rotate(mat)
+ res = rotate(gravity(mat))
s = "Case #%d: \n%s\n" % (i+1, '\n'.join(res))
print s