Cô bé Maja luôn yêu thích những câu đố. Và vì mọi người đều biết điều đó từ lâu nên không có gì lạ khi vào một ngày nắng đẹp, Maja nhận được một món quà là một câu đố xếp hình kỳ quặc...
Câu đố này có ~n~ mảnh. Mỗi mảnh có hình chữ nhật và có một màu nhất định. Ngoài ra, mỗi mảnh còn có ~2~ số viết ở mặt sau: ~u~ và ~d~. Sau một thời gian khéo léo kết hợp các mảnh ghép và cố gắng ghép chúng lại với nhau, Maja đã tìm ra ý nghĩa của những con số đó.
Cô phát hiện ra rằng số ~u~ tượng trưng cho "hướng", nói cách khác, mảnh ghép tiếp theo kết nối với mảnh hiện tại từ phía trên hay từ phía bên phải của mảnh ghép hiện tại. Số ~d~ chỉ định cột/hàng bắt đầu nơi chúng ta kết nối mảnh tiếp theo của câu đố với mảnh hiện tại. Cụ thể hơn:
- Nếu ~u=0~, ta thêm mảnh tiếp theo lên trên mảnh hiện tại bằng cách nối góc dưới bên trái của nó với cạnh trên của mảnh hiện tại ở cột ~d~.
- Nếu ~u=1~, ta thêm mảnh tiếp theo vào bên phải bằng cách nối góc dưới bên trái của nó với cạnh phải của mảnh hiện tại ở hàng ~d~.
Hãy chứng minh điều này với các mảnh được tô màu a
và b
. Hình 1 thể hiện trường hợp ~u = 0~ và ~d = 3~. Hình 2 thể hiện trường hợp ~u = 1~ và ~d = 3~. (Trong cả hai trường hợp, số ~u~ và ~d~ đại diện cho các số được viết ở mặt sau của mảnh có màu a
).
. . b b b b b
. . b b b b b a a a a . . . . .
a a a a . . . a a a a b b b b b
a a a a . . . a a a a b b b b b
a a a a . . .
Hình 1 Hình 2
Maja đã mệt mỏi với câu đố khó hiểu này nhưng sự tò mò của cô là không giới hạn! Đó là lý do tại sao cô ấy yêu cầu sự giúp đỡ của bạn. Cô ấy muốn biết, với một mô tả nhất định về từng mảnh ghép và trình tự sắp xếp của chúng, thì câu đố hoàn thành sẽ trông như thế nào? Viết chương trình in kích thước (chiều cao và chiều rộng) của câu đố đã hoàn thành, cũng như diện mạo cuối cùng của nó trong một hình chữ nhật có cùng chiều cao và chiều rộng, trong đó .
đại diện cho những nơi không có phần nào của câu đố.
Input
- Dòng đầu tiên chứa số nguyên ~n~ (~1 \leq n \leq 20~) là số mảnh câu đố.
- Dòng thứ ~i~ trong ~n~ dòng tiếp theo chứa 1 kí tự và 4 số nguyên, thứ tự là ~b_i, r_i, s_i, u_i, d_i~, trong đó: ~b_i~ là một chữ cái tiếng Anh in thường, thể hiện màu của mảnh ghép thứ ~i~; ~r_i~ và ~s_i~ (~1 \leq r_i, s_i \leq 10~) theo thứ tự là số hàng và số cột của mảnh ghép; ~u_i~ và ~d_i~ (~0 \leq u_i \leq 1, 1 \leq d_i \leq r_i, s_i~ (phụ thuộc vào ~u_i~)) là những số được viết ở mặt sau mảnh ghép.
- Dòng cuối cùng có ~n~ số nguyên, thứ tự các phần được kết nối, mỗi số ~t~ đại diện cho mảnh ghép thứ ~t~ trong đầu vào. Mỗi mảnh ghép sẽ xuất hiện trong dãy đúng một lần.
Output
Đưa ra chiều cao và chiều rộng của câu đố đã hoàn thành. Sau đó, đưa hình dáng của câu đố trong một hình chữ nhật có cùng chiều cao và chiều rộng. Ở những vị trí trong hình chữ nhật không có mảnh ghép, hãy in .
.
Sample Input 1
2
a 3 4 0 3
b 2 5 1 1
1 2
Sample Output 1
5 7
..bbbbb
..bbbbb
aaaa...
aaaa...
aaaa...
Sample Input 2
2
a 3 4 0 3
b 2 5 1 1
2 1
Sample Output 2
4 9
.....aaaa
.....aaaa
bbbbbaaaa
bbbbb....
Sample Input 3
4
g 9 5 0 2
a 3 2 1 1
c 5 10 0 2
p 8 7 1 6
4 3 2 1
Sample Output 3
18 17
..........ggggg..
..........ggggg..
..........ggggg..
..........ggggg..
..........ggggg..
..........ggggg..
..........ggggg..
..........ggggg..
........aaggggg..
........aa.......
ppppppp.aa.......
pppppppcccccccccc
pppppppcccccccccc
pppppppcccccccccc
pppppppcccccccccc
pppppppcccccccccc
ppppppp..........
ppppppp..........
Bình luận