#P5736. 波纹

波纹

题目描述

约翰的奶牛喜欢在水塘里打水漂玩。当石子击打水面后,水波就扩散开来。 湖面用一个矩阵来表示.水面存在一种叫深度的概念,用来描述波的传播.当石子打击水面之前,每个格子({(}除了那些在水坝上的格子){)}的深度都为0.{0.}当波 传播开来后,每个格子描述如下: img

当一个石子打击水面后,就会产生一个沿菱形方向每秒向外传播一格的上凸水波,并且伸水面的深度提高1,{1,}2{2}秒之后,又产生一个下凹的水波,并目使水面的深 度降低1,{1,}同样沿萎形方向每秒向外传播一格。一次击打仅产生2{2}个水波,即一个上凸水波和紧跟的一个下凹水波。 例如,下图描述了一个石子打道湖中心后,0,{0,}1,{1,}2,{2,}3{3}秒时的情况: img

河堤用X{X}表示,并且和湖的宽({(}从顶到底){)}一样长,当一列波碰到河堤,河堤将反弹波,下面是一列波碰到河堤的情形。为了简单明了,图中只画了上凸波,而舍去了下凹波: img

当一些波相遇后,他们的传播方向不会改变,也就是说,相遇后1{1}秒,各波仍按原传播方向移动 记录将表现出他们的复合情形,例如: img

写一个程序,告诉奶牛波随着时间将如何传播.

输入格式

第1{1}行:

四个用空格隔开的整数PjBi,{P_j B_i,}B2,{B_2,}R.P(1≤{R. P(1≤}P≤{P≤}5){5)}表示石子的个数,Bi(−5×{B_i(-5×}100000≤{100000≤}Bi≤{B_i≤}5×{5×}100000){100000)}和B2({B_2(}−5×{-5×}100000≤{100000≤}B2≤{B_2≤}5×{5×}100000){100000)}表示两个河堤的z{z}坐标,R(1≤{R(1≤}R≤{R≤}5×{5×}100000){100000)}表示你要描述湖面多少秒.

没有两个石子会在同一时间砸到同一地点,两个河堤一定有不同的坐标,没有石子会砸到河堤上去.

第2{2}到P+1{P+1}行:

每行有三个用空格隔开的整数描述了一颗石子,X,{X,}KT(−5×{K T(-5×}100000≤{100000≤}X,{X,}KT≤{K T≤}5×{5×}100000).X{100000).X}.y{y}表示石子砸的地点的坐标,T{T}表示石子是什么时候砸下去的.

输出格式

输出是一个9{9}半9{9}的矩阵,中心在(0,{(0,}0){0)}点.左下点的坐标为(−4,{(-4,}−4),{-4),}右上点的坐标为(4,{(4,}4){4)}.这个 矩阵表现的是R{R}秒时湖面状态.

样例

输入样例

2 4 100 4
-3 0 1
0 0 2

输出样例

--------X
-*------X
*-*-*---X
-o-*-*--X
o-----*-X
-o-*-*--X
*-*-*---X
-*------X
--------X