#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef string str;
typedef stringstream strs;
typedef intmax_t i_m;
int n,m;
void f1(int n){
cout<<"..+";
for(int i=1;i<=n;i++){
cout<<"---+";
}
cout<<"\n./";
for(int i=1;i<=n;i++){
cout<<" /";
}
cout<<"|\n+";
for(int i=1;i<=n;i++){
cout<<"---+";
}
cout<<" |\n|";
for(int i=1;i<=n;i++){
cout<<" |";
}
cout<<" +\n|";
for(int i=1;i<=n;i++){
cout<<" |";
}
cout<<"/.\n+";
for(int i=1;i<=n;i++){
cout<<"---+";
}
cout<<"..";
}
void f2(int n){
cout<<"..+---+";
cout<<"\n./ /|\n";
cout<<"+---+ |\n";
for(int i=1;i<n;i++){
cout<<"| | +\n";
cout<<"| |/|\n";
cout<<"+---+ |\n";
}
cout<<"| | +\n";
cout<<"| |/.\n";
cout<<"+---+..";
}
void f3(int n){
int m1=n*2;
int m2=1;
for(int i=1;i<=n*2+1;i++){
for(int j=1;j<=m1;j++){
cout<<".";
}
if(i%2==1){
cout<<"+---+";
}else{
cout<<"/ /";
}
if(i!=1){
if((i-1)%4==1){
cout<<"|";
if(i>2){
cout<<" +";
}
}else if((i-1)%4==2){
cout<<" |";
if(i>3){
cout<<"/";
}
}else if((i-1)%4==3){
cout<<"| +";
}else{
cout<<" |/";
}
}
m1--;
if(i>=5){
for(int j=1;j<=m2;j++){
cout<<".";
}
m2++;
}
cout<<endl;
}
cout<<"| | +";
for(int i=1;i<=m2;i++){
cout<<".";
}
m2++;
cout<<"\n| |/";
for(int i=1;i<=m2;i++){
cout<<".";
}
m2++;
cout<<"\n+---+";
for(int i=1;i<=m2;i++){
cout<<".";
}
}
int main(){
cout<<"欢迎使用立体图建造器\n\n";
while(true){
cout<<"请输入1~4中的一个数\n";
cin>>m;
cout<<"请输入左右摆放的积木的个数(<=29)或";
cout<<"请输入上下摆放的积木的个数或";
cout<<"请输入前后摆放的积木的个数(<=57)\n";
cin>>n;
cout<<"\n";
if(m==1){
if(n<=29){
f1(n);
}else{
cout<<"输入错误,请重新输入";
}
}else if(m==2){
f2(n);
}else if(m==3){
if(n<=57){
f3(n);
}else{
cout<<"输入错误,请重新输入";;
}
}else if(m==4){
cout<<"欢迎下次使用";
break;
}else{
cout<<"输入错误,请重新输入";
}
cout<<"\n\n";
}
return 0;
}
