大佬帮帮本蒟蒻 编译错误
查看原帖
大佬帮帮本蒟蒻 编译错误
1367731
KellyH楼主2024/7/22 12:18
#include<bits/stdc++.h>
using namespace std;
int k,n,m,p,x,y;
char a[800][1600];
bool f[800][1600];
void dfs(int x,int y,int a,int b,int k,int xx,int yy)
{
    if(x==n)
	{
		a[x][y]='o';
		return;
	}
    if(k==1)
	{
        a[x][y]='o';
        int X=xx+1,Y=(yy-1)*2+1; 
        if(!f[X][Y])
		{
			dfs(x+1,y-1,a+1,b,2,X,Y);
		}
        X=xx+1,Y=yy*2; 
        if(!f[X][Y])
		{
			dfs(x+1,y+1,a+1,b,3,X,Y);
		}
    }
	else if(k==2)
	{
        a[x][y]='/';
        if(a*2==b)
		{
			dfs(x+1,y-1,1,a,1,xx,yy);
		}
        else    
		{
			dfs(x+1,y-1,a+1,b,2,xx,yy);
		}
    }
	else if(k==3)
	{
        a[x][y]=92;
        if(a*2==b)
		{
			dfs(x+1,y+1,1,a,1,xx,yy);
		}
        else    
		{
			dfs(x+1,y+1,a+1,b,3,xx,yy);
		}
    }
}
void make(int k)
{
    n=3;
    for(int i=3;i<=k;i++)
	{
		n*=2;
	}
    m=6*(1<<(k-2))-1;
    for(int i=1;i<=n;i++)
    {
    	for(int j=1;j<=m;j++)
		{
			a[i][j]=' ';
		}
	}
    dfs(1,m/2+1,1,n,1,1,1);    
}
int main()
{
    cin>>k>>p;
    while(p--)
	{	
		cin>>x>>y; 
		f[x][y]=1;
	}
    if(k==1)
	{
		n=m=1;
		a[1][1]='o';
	}
	else 
	{
		make(k);
	}
    for(int i=1;i<=n;i++)
	{
        for(int j=1;j<=m;j++)
		{
			cout<<a[i][j];
		}
		cout<<endl;
    }
}
2024/7/22 12:18
加载中...