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