//题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6330
//题目大意:按照一定格式画出一个 a×b×c 的长方体。
//解题思路:计算画布大小以及各个关键位置的坐标。按照格式将画布填充正确。逐步覆盖就对了,csy说这是全场最简单的题!虽然我们是第三个做的~
1 #include <bits/stdc++.h>
2 using namespace std;
3 char s[100][100];
4 int main()
5 {
6 int T;
7 scanf("%d",&T);
8 while(T--)
9 {
10 int a,b,c;
11 scanf("%d%d%d",&a,&b,&c);
12 int m=2*b+2*a+1;
13 int n=2*b+2*c+1;
14 for(int i=1;i<=n;i++)
15 {
16 for(int j=1;j<=m;j++)
17 {
18 if(i%2==1&&j%2==1)
19 {
20 s[i][j]='+';
21 }
22 else if(i%2==1&&j%2==0)
23 {
24 s[i][j]='.';
25 }
26 else if(i%2==0&&j%2==1)
27 {
28 s[i][j]='|';
29 }
30 else
31 {
32 s[i][j]='/';
33 }
34 }
35 }
36 for(int i=1;i<=2*b;i++)
37 {
38 for(int j=2*b+1-i;j>=1;j--)
39 {
40 s[i][j]='.';
41 }
42 }
43 for(int i=n-2*b+1;i<=n;i++)
44 {
45 for(int j=m-2*b+1+(n-i);j<=m;j++)
46 {
47 s[i][j]='.';
48 }
49 }
50 for(int i=1;i<=2*b;i++)
51 {
52 for(int j=2*b+3-i;j<=m-i;j+=2)
53 if(i%2==1)
54 s[i][j]='-';
55 else
56 s[i][j]='.';
57 }
58 for(int i=2*b+1;i<=n;i++)
59 {
60 for(int j=2;j<=2*a;j+=2)
61 {
62 if(i%2==1)
63 s[i][j]='-';
64 else
65 s[i][j]='.';
66 }
67 }
68 for(int i=1;i<=n;i++)
69 {
70 for(int j=1;j<=m;j++)
71 {
72 cout<<s[i][j];
73 }
74 cout<<endl;
75 }
76 }
77
78 }