求调
查看原帖
求调
1243587
shiyilang0910楼主2025/1/31 10:54
#include<bits/stdc++.h>
using namespace std;
int m,n,mp[55][55],h,w;
char t[605][605];
char ch[10][10]={
	{'+','-','-','-','+','.','.'},
	{'|',' ',' ',' ','|','/','.'},
	{'|',' ',' ',' ','|',' ','+'},
	{'+','-','-','-','+',' ','|'},
	{'.','/',' ',' ',' ','/','|'},
	{'.','.','+','-','-','-','+'}
};
void work(int x,int y){
	for(int i=0;i<6;i++){
		for(int j=0;j<7;j++){
			if (t[x+i][y+j]=='.'){
				t[x+i][y+j]=ch[i][j];
			}
		}
	}
	h=max(h,x+5);
	w=max(w,y+6);
}
int main(){
	ios::sync_with_stdio(false);
	cin.tie(0),cout.tie(0);
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			cin>>mp[i][j];
		}
	}
	memset(t,'.',sizeof(t));
	int x=1,y=1,k=0,l=0;
	for(int i=1;i<=m;i++){
		int xx=x,yy=y;
		for(int j=n;j>=1;j--){
			int xxx=xx,yyy=yy;
			for(int k=1;k<=mp[j][i];k++){
				xxx+=3;
			}
			for(int k=1;k<=mp[j][i];k++){
				xxx-=3;
				work(xxx,yyy);
			}
			xx+=2;
			yy+=2;
		}
		y+=4;
	}
	for(int i=h;i>=1;i--){
		for(int j=1;j<=w;j++){
			cout<<t[i][j];
		}
		cout<<"\n";
	}
	return 0;
}
2025/1/31 10:54
加载中...