diff options
| author | Yuval Adam <yuv.adm@gmail.com> | 2011-04-16 00:57:41 +0300 |
|---|---|---|
| committer | Yuval Adam <yuv.adm@gmail.com> | 2011-04-16 00:57:41 +0300 |
| commit | 081b15824663b9a6e74b31da236522ed69df8499 (patch) | |
| tree | beb60a5dedb9d2a466927f26fa6d731b01ec3b15 | |
| parent | 354967bfde9a3c5359dfc62287d2748ad89ae531 (diff) | |
got the gravity down, have a bug to fix
| -rw-r--r-- | 2010/1a/1.out | 16 | ||||
| -rw-r--r-- | 2010/1a/a.py | 15 |
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 |
