Mikhailenko Alexandr Sergeevich 316 TrimImage 2868
Алмаз Сейтхазин (КФ МГУ, кафедра НДС) TrimImage 3351
n1nums = []n
2points = {}1points = {}
n3while 1:n2rectangles = []
3while True:
4    line = input()4    line = input()
5    if not line.strip():5    if not line.strip():
6        break6        break
n7    str = line.split()n7    parts = line.split()
8    if len(str) != 5:8    if len(parts) != 5:
9        continue9        continue
n10    x, y, a, b, c = strn10    x, y, w, h, char = parts
11    x, y, ab = (int(x), int(y), int(a), int(b))11    x, y, wh = (int(x), int(y), int(w), int(h))
12    nums.append((x, y, a, b, c))12    rectangles.append((x, y, w, h, char))
13for x, y, a, b, c in nums:13for x, y, w, h, char in rectangles:
14    if a > 0:14    if w > 0:
15        x_str = range(x, x + a)15        x_range = range(x, x + w)
16    elif a < 0:16    elif w < 0:
17        x_str = range(x + a, x)17        x_range = range(x + w, x)
18    else:18    else:
n19        x_str = []n19        x_range = []
20    if b > 0:20    if h > 0:
21        y_str = range(y, y + b)21        y_range = range(y, y + h)
22    elif b < 0:22    elif h < 0:
23        y_str = range(y + b, y)23        y_range = range(y + h, y)
24    else:24    else:
n25        y_str = []n25        y_range = []
26    for x_i in x_str:26    for xi in x_range:
27        for y_i in y_str:27        for yi in y_range:
28            points[x_i, y_i] = c28            points[xi, yi] = char
29if not points:29if not points:
30    print()30    print()
31else:31else:
32    min_x = min((x for x, y in points))32    min_x = min((x for x, y in points))
33    max_x = max((x for x, y in points))33    max_x = max((x for x, y in points))
34    min_y = min((y for x, y in points))34    min_y = min((y for x, y in points))
35    max_y = max((y for x, y in points))35    max_y = max((y for x, y in points))
t36    distance_x = max_x - min_x + 1t36    width = max_x - min_x + 1
37    distance_y = max_y - min_y + 137    height = max_y - min_y + 1
38    matr = [['.' for _ in range(distance_x)] for _ in range(distance_y)]38    grid = [['.' for _ in range(width)] for _ in range(height)]
39    for (x_i, y_i), c in points.items():39    for (x, y), char in points.items():
40        matr[y_i - min_y][x_i - min_x] = c40        grid[y - min_y][x - min_x] = char
41    for row in matr:41    for row in grid:
42        print(''.join(row))42        print(''.join(row))
Legends
Colors
 Added 
Changed
Deleted
Links
(f)irst change
(n)ext change
(t)op