农夫 John 的奶牛们特别喜欢往牧场旁的湖里扔小石子。石子落到湖面时,会产生在湖面上传播的波浪。
湖面用一个很大的方格网格表示。每个方格的水深由波浪的相互作用决定。投下任何石子之前,每个方格(原有河岸上的方格除外)的水深都是 0。显示时,各方格表示如下:
o:方格水深小于 0。-:方格水深等于 0。*:方格水深大于 0。X:方格属于原有河岸。
石子落入湖中,会产生一道水面升高的波浪,呈菱形每秒向外扩展。菱形上各方格的水深增加 1,且只持续一秒。两秒后,这道波浪后面跟着一道水面降低的波浪(水深减少 1),也呈菱形向外扩展。每颗石子只产生两道波浪,先升高,后降低。
例如,下图显示一颗石子落在湖中央后,经过 0、1、2、3 秒时的效果:
0 seconds 1 second 2 seconds 3 seconds ------- ------- ------- ---*--- ------- ------- ---*--- --*-*-- ------- ---*--- --*-*-- -*-o-*- ---*--- --*-*-- -*-o-*- *-o-o-* ------- ---*--- --*-*-- -*-o-*- ------- ------- ---*--- --*-*-- ------- ------- ------- ---*---
图中从左至右依次为 0 秒、1 秒、2 秒、3 秒。
河岸的 $x$ 坐标固定,纵贯湖的整个长度(从上到下),宽度为一个方格。波浪到达河岸时不会继续穿过河岸,而是继续扩展,其中撞到河岸的部分被反射。
下图显示波浪撞到一侧河岸的最初几秒。为使图更清楚,没有画出第二道水面降低的波浪:
1 second 2 seconds 3 seconds 4 seconds 5 seconds X------ X------ X--*--- X-*-*-- X*---*- X------ X--*--- X-*-*-- X*---*- X*----* X--*--- X-*-*-- X*---*- X*----* X-*---- X-*-*-- X*---*- X*----* X-*---- X--*--- X--*--- X-*-*-- X*---*- X*----* X-*---- X------ X--*--- X-*-*-- X*---*- X*----* X------ X------ X--*--- X-*-*-- X*---*-
图中从左至右依次为 1、2、3、4、5 秒。
波浪的各部分相遇时,不会影响彼此的传播方式。换句话说,下一个时刻,波浪会像未曾相遇一样扩展。不过,它们在湖上的作用会叠加。例如:
1 second 2 seconds 3 seconds 4 seconds --------- --------- --------- ---*----- --------- --------- ---*----- --*-*-*-- --------- ---*----- --*-*-*-- -*-o-*-*- ---*----- --*-*-*-- -*-o-*-*- *-o-----* --*-*-*-- -*-o-*-*- *-o-----* -o-*-o--- ---*----- --*-*-*-- -*-o-*-*- *-o-----* --------- ---*----- --*-*-*-- -*-o-*-*- --------- --------- ---*----- --*-*-*-- --------- --------- --------- ---*-----
图中从左至右依次为 1、2、3、4 秒。
编写程序,帮助奶牛们确定波浪随时间如何扩展。
输入格式
第 1 行:四个用空格分隔的整数 $P$, $B1$, $B2$, $R$:
$P$ ($1 \le P \le 5$) 表示石子数。
$B1$ ($-500{,}000 \le B1 \le 500{,}000$) 和 $B2$ ($-500{,}000 \le B2 \le 500{,}000$) 是两侧河岸的 $x$ 坐标。
$R$ ($1 \le R \le 500{,}000$) 表示需要显示湖面的时刻。
任意两颗石子都不会在同一时刻落在同一位置。两侧河岸的 $x$ 坐标不同,且不会有石子落在河岸上。
第 $2..P+1$ 行:每行三个用空格分隔的整数描述一颗石子:$X$ ($-500{,}000 \le X \le 500{,}000$)、$Y$ ($-500{,}000 \le Y \le 500{,}000$) 和 $T$ ($1 \le T \le 500{,}000$)。
$X$ 和 $Y$ 是石子投下的位置坐标。
$T$ 是石子投下的时刻。
输出格式
- 第 1 到 9 行:输出以 $(0,0)$ 为中心的 $9 \times 9$ 网格。左下角表示 $(-4,-4)$,右上角表示 $(4,4)$。网格应表示时刻 $R$ 的湖面状态。
样例
输入格式 1
2 4 100 4 -3 0 1 0 0 2
输出格式 1
--------X -*------X *-*-*---X -o-*-*--X o-----*-X -o-*-*--X *-*-*---X -*------X --------X
题目作者:Richard Forster,BIO 2003,2003