Морозова Вероника Геннадьевна, 321 TrimImage 6242
timofey_filenko TrimImage 5629
n1rect = []n1t = []
2while (s := input()):2while (el := input()):
3    ss = s.split()3    lst = list(el.split())
4    if ss[2] != '0' and ss[3] != '0':4    if lst[2] != '0' and lst[3] != '0':
5        r = list(map(int, ss[:-1]))5        tmp = list(map(int, lst[:-1]))
6        if r[2] < 0:6        if tmp[2] < 0:
7            r[0] += r[2]7            tmp[0] += tmp[2]
8            r[2] = abs(r[2])8            tmp[2] = abs(tmp[2])
9        if r[3] < 0:9        if tmp[3] < 0:
10            r[1] += r[3]10            tmp[1] += tmp[3]
11            r[3] = abs(r[3])11            tmp[3] = abs(tmp[3])
12        rect.append(r)12        t.append(tmp)
13        rect[-1].append(ss[-1])13        t[-1].append(lst[-1])
14h = []14s = []
15h.append([])15s.append([])
16h.append([])16s.append([])
17for obj in rect:17for arr in t:
18    h[0].append(obj[0] + obj[2])18    s[0].append(arr[0] + arr[2])
19    h[1].append(obj[1] + obj[3])19    s[1].append(arr[1] + arr[3])
20for obj in rect:20for arr in t:
21    h[0].append(obj[0])21    s[0].append(arr[0])
22    h[1].append(obj[1])22    s[1].append(arr[1])
23minw = min(range(len(h[0])), key=h[0].__getitem__)23min_width = min(range(len(s[0])), key=s[0].__getitem__)
24maxw = max(range(len(h[0])), key=h[0].__getitem__)24max_width = max(range(len(s[0])), key=s[0].__getitem__)
25minh = min(range(len(h[1])), key=h[1].__getitem__)25min_height = min(range(len(s[1])), key=s[1].__getitem__)
26maxh = max(range(len(h[1])), key=h[1].__getitem__)26max_height = max(range(len(s[1])), key=s[1].__getitem__)
27if minh == maxh:27if min_width == max_width:
28    height = h[1][0]28    width = s[0][0]
29else:29else:
n30    height = h[1][maxh] - h[1][minh]n30    width = s[0][max_width] - s[0][min_width]
31if minw == maxw:31if min_height == max_height:
32    width = h[0][0]32    height = s[1][0]
33else:33else:
t34    width = h[0][maxw] - h[0][minw]t34    height = s[1][max_height] - s[1][min_height]
35for (xy) in enumerate(rect):35for (iarr) in enumerate(t):
36    if x != minw:36    if i != min_width:
37        rect[x][0] -= h[0][minw]37        t[i][0] -= s[0][min_width]
38    if x != minh:38    if i != min_height:
39        rect[x][1] -= h[1][minh]39        t[i][1] -= s[1][min_height]
40res = [['.' for i in range(width)] for j in range(height)]40ans = [['.' for i in range(width)] for j in range(height)]
41for obj in rect:41for el in t:
42    w = obj[0]42    w = el[0]
43    hh = obj[1]43    h = el[1]
44    r = abs(obj[2])44    sd_r = abs(el[2])
45    n = abs(obj[3])45    sd_n = abs(el[3])
46    for i in range(hh, hh + n):46    for i in range(hh + sd_n):
47        for j in range(w, w + r):47        for j in range(w, w + sd_r):
48            res[i][j] = obj[4]48            ans[i][j] = el[4]
49for obj in res:49for el in ans:
50    print(*obj, sep='')50    print(*el, sep='')
Legends
Colors
 Added 
Changed
Deleted
Links
(f)irst change
(n)ext change
(t)op