shunfurh
编程介的小学生
2017-10-30 03:14

Graph Generation

10
  • square
  • as
  • character
  • 设计
  • each

Problem Description
You are design a graphics generator to create a graph called "GStar".
GStar is defined by recursive, the first level "GStar", the GStar(1), is a square like the graph below:
+-+
|.|
+-+
Then we divide every edge of the GStar(1) into three part, and draw a new square outward on the middle part. Thus we get the GStar(2), like the graph below:
....+-+....
....|.|....
..+-+.+-+..
..|.....|..
+-+.....+-+
|.........|
+-+.....+-+
..|.....|..
..+-+.+-+..
....|.|....
....+-+....
We can get GStar(n) from GStar(n-1) by split the outer bound of every edge on GStar(n-1) into three part and draw a square outward taking place the middle part.
The following graph is the GStar(3), pay attention that outer bound touches itself but the inner part are also "outer bound", so the edges are used in generation on the next level of GStar.
................+-+................
................|.|................
..............+-+.+-+..............
..............|.....|..............
............+-+.....+-+............
............|.........|............
..........+-+-+.....+-+-+..........
..........|.|.|.....|.|.|..........
........+-+.+-+.....+-+.+-+........
........|.................|........
......+-+.................+-+......
......|.....................|......
....+-+-+.................+-+-+....
....|.|.|.................|.|.|....
..+-+.+-+.................+-+.+-+..
..|.............................|..
+-+.............................+-+
|.................................|
+-+.............................+-+
..|.............................|..
..+-+.+-+.................+-+.+-+..
....|.|.|.................|.|.|....
....+-+-+.................+-+-+....
......|.....................|......
......+-+.................+-+......
........|.................|........
........+-+.+-+.....+-+.+-+........
..........|.|.|.....|.|.|..........
..........+-+-+.....+-+-+..........
............|.........|............
............+-+.....+-+............
..............|.....|..............
..............+-+.+-+..............
................|.|................
................+-+................

Input
The input contains several test cases, the first line of test case contains an integer denoting the number of test cases.
For each test cases, there are only three integers K, X, Y. Where K denoting the level of GStar. And you are to output a part of the graph from (X,Y) to (X+9,Y+9), a 10*10 matrix. Where the top-left corner is define as (0,0) and the Y-th character of X-th line is define as (X-1,Y-1). Notice that the empty cell are filled with ".". (1 <= K <= 10, 0 <= X, Y <= 30000)

Output
For each test cases, output the character matrix. See example for further details.

Sample Input
3
1 1 1
2 1 1
5 88 72

Sample Output
Case 1:
.|........
-+........
..........
..........
..........
..........
..........
..........
..........
..........
Case 2:
...|.|....
.+-+.+-+..
.|.....|..
-+.....+-+
.........|
-+.....+-+
.|.....|..
.+-+.+-+..
...|.|....
...+-+....
Case 3:
+-+.......
|.........
+-+.......
|.|.......
+-+-+.+-+.
..|.|.|.|.
..+-+-+-+.
....|.|...
..+-+-+-+.
..|.|.|.|.

  • 点赞
  • 回答
  • 收藏
  • 复制链接分享

1条回答