Сагура Николай, 392, сев. филиал TrimImage 2886
Dimitry TrimImage 3458
t1rects = []t1rects = []
2while True:2while True:
3    s = input().rstrip()3    s = input().rstrip()
4    if not s:4    if not s:
5        break5        break
6    x, y, dx, dy, c = s.split()6    x, y, dx, dy, c = s.split()
7    rects.append((int(x), int(y), int(dx), int(dy), c))7    rects.append((int(x), int(y), int(dx), int(dy), c))
8points = {}8points = {}
9for x, y, dx, dy, c in rects:9for x, y, dx, dy, c in rects:
10    if dx > 0:10    if dx > 0:
11        x1, x2 = (x, x + dx - 1)11        x1, x2 = (x, x + dx - 1)
12    else:12    else:
13        x1, x2 = (x + dx, x - 1)13        x1, x2 = (x + dx, x - 1)
14    if dy > 0:14    if dy > 0:
15        y1, y2 = (y, y + dy - 1)15        y1, y2 = (y, y + dy - 1)
16    else:16    else:
17        y1, y2 = (y + dy, y - 1)17        y1, y2 = (y + dy, y - 1)
18    for i in range(x1, x2 + 1):18    for i in range(x1, x2 + 1):
19        for j in range(y1, y2 + 1):19        for j in range(y1, y2 + 1):
20            points[i, j] = c20            points[i, j] = c
21if not points:21if not points:
22    exit()22    exit()
23xs = [x for x, _ in points]23xs = [x for x, _ in points]
24ys = [y for _, y in points]24ys = [y for _, y in points]
25min_x, max_x = (min(xs), max(xs))25min_x, max_x = (min(xs), max(xs))
26min_y, max_y = (min(ys), max(ys))26min_y, max_y = (min(ys), max(ys))
27for y in range(min_y, max_y + 1):27for y in range(min_y, max_y + 1):
28    row = []28    row = []
29    for x in range(min_x, max_x + 1):29    for x in range(min_x, max_x + 1):
30        row.append(points.get((x, y), '.'))30        row.append(points.get((x, y), '.'))
31    print(''.join(row))31    print(''.join(row))
Legends
Colors
 Added 
Changed
Deleted
Links
(f)irst change
(n)ext change
(t)op