[清北2012寒假]弹性小球

成绩 0 开启时间 2013年02月21日 星期四 23:02
折扣 0.8 折扣时间 2013年02月28日 星期四 23:02
允许迟交 关闭时间 2013年02月28日 星期四 23:02
输入文件 elasticity.in 输出文件 elasticity.out

【题目描述】

DaA 有一个弹性小球,小球有一个能量值E。
DaA 走进一个M*N 房间,房间有M 行N 列。
一开始在左上角,以向右下角45°的方向弹射小
球。小球有两个性质:

1. 小球在运动过程中不会损失能量,只有在
碰壁或碰角的时候才会损失能量,能量<=0 了小球
就停止运动了;
2. 小球弹射遵循反射定律,小球碰角会原路
返回(请参照右边图画)。
请聪明的你告诉DaA 弹性小球在这个房间中的运动轨迹。


【输入格式】

第一行三个整数M、N、E,表示房间的行数和列数、小球的初始能量。
第二行八个整数,分别是小球撞到上(北)、右(东)、下(南)、左(西)、左上(西北)、
右上(东北)、右下(东南)、左下(西南)损失的能量。

【输出格式】

输出一张小球运动的轨迹图(详见样例)。轨迹图要求如下:
1. 整个(M+2)*(N+2)的图,外面要有边框,上下各N 个'-',左右各M 个'|';
2. 小球运动轨迹用'/'和'\'表示,其他部分用' '表示。

【样例】

Sample Input 1:
2 2 5
2 3 4 6 1 1 3 9
Sample Input 2:
3 5 6
1 1 1 1 1 1 1 1
Sample Output 1:
 --
|\ |
| \|
 --
Sample Output 2:
 -----
|\/ /\|
|/\/ /|
|\/\/ |
 ----- 

【数据规模】

30%的数据 1<=M,N<=10,0

100%的数据 1<=M,N<=100,0

【来源】

清北学堂2012寒假培训 Test2