summaryrefslogtreecommitdiff
path: root/2010
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
parent354967bfde9a3c5359dfc62287d2748ad89ae531 (diff)
got the gravity down, have a bug to fix
Diffstat (limited to '2010')
-rw-r--r--2010/1a/1.out16
-rw-r--r--2010/1a/a.py15
2 files changed, 21 insertions, 10 deletions
diff --git a/2010/1a/1.out b/2010/1a/1.out
index a3707e7..3da5a6f 100644
--- a/2010/1a/1.out
+++ b/2010/1a/1.out
@@ -1,11 +1,11 @@
Case #1:
.......
-R......
-RB.....
-BRBR...
-RBB....
.......
.......
+R......
+RB.....
+BRB....
+RBBR...
Case #2:
R.....
BRRR..
@@ -14,11 +14,11 @@ BR....
BBB...
BRBR..
Case #3:
-BBBR
-RRR.
....
....
+BBB.
+RRRR
Case #4:
-RRB
-BB.
...
+RR.
+BBB
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