#2531. 波纹

波纹

题目描述

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

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

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

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

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

输入格式

1\red{1}行:

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

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

2\red{2}P+1\red{P+1}行:

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

输出格式

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

样例

输入样例

2 4 100 4
-3 0 1
0 0 2

输出样例

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