summaryrefslogtreecommitdiff
path: root/2016/8b.py
diff options
context:
space:
mode:
authortomsmeding <tom.smeding@gmail.com>2017-12-02 09:30:07 +0100
committertomsmeding <tom.smeding@gmail.com>2017-12-02 09:30:07 +0100
commit2c1dccf57d7ad5e25e79063dea41fd7bfa9d9ac6 (patch)
tree6c36355ef1a475f2b7cf388402afc96a16588d3d /2016/8b.py
parent2d02f553aa4cc4ded630628eccdf34f55937cee5 (diff)
Move 2016 to its own folder
Diffstat (limited to '2016/8b.py')
-rwxr-xr-x2016/8b.py31
1 files changed, 31 insertions, 0 deletions
diff --git a/2016/8b.py b/2016/8b.py
new file mode 100755
index 0000000..9c21f25
--- /dev/null
+++ b/2016/8b.py
@@ -0,0 +1,31 @@
+#!/usr/bin/env python3
+
+import sys
+
+WID=50
+HEI=6
+
+screen=[[0]*WID for _ in range(HEI)]
+
+for line in sys.stdin:
+ line=line.split(" ")
+ if line[0]=="rect":
+ w,h=[int(x) for x in line[1].split("x")]
+ for y in range(h):
+ screen[y][:w]=[1]*w
+ elif line[0]=="rotate" and line[1]=="row":
+ y=int(line[2][2:])
+ off=int(line[4])%WID
+ part=screen[y][:-off]
+ screen[y][:off]=screen[y][-off:]
+ screen[y][off:]=part
+ elif line[0]=="rotate" and line[1]=="column":
+ x=int(line[2][2:])
+ off=int(line[4])%HEI
+ part=[row[x] for row in screen[:-off]]
+ for y in range(off):
+ screen[y][x]=screen[-off+y][x]
+ for y in range(len(part)):
+ screen[off+y][x]=part[y]
+
+print("\n".join(" ".join(map(lambda n:".#"[n],row)) for row in screen))