奇怪,自测没问题,跑起来0分,求助!
查看原帖
奇怪,自测没问题,跑起来0分,求助!
741987
110802Ly楼主2022/12/20 21:42

代码:

#include <bits/stdc++.h>
using namespace std;
int main()
{
	int n;
	cin>>n;
	int a[101][101]={},x=0,y=1,h=0;
	for(int i=0;i<=n-1;i++)
	{
		h++;
		a[0][i]=h;
	}
	for(int i=1;i<=n-1;i++)
	{
		h++;
		a[i][n-1]=h;
	}
	for(int i=n-2;i>=0;i--)
	{
		h++;
		a[n-1][i]=h;
	}
	for(int i=n-2;i>=1;i--)
	{
		h++;
		a[i][0]=h;
	}
	for(int i=1;i<=pow(n,2);i++)
	{
	    if(x<n&&y<n)
	    {
	    	if(a[x-1][y]!=0)
	    	{
				if(a[x][y+1]==0)
			    {
			    	h++;
		    		a[x][y+1]=h;
	 	   			y+=1;
	 	   			continue;
	 	   		}
	 	    }
			if(a[x+1][y]==0)
	    	{
		    	h++;
		    	a[x+1][y]=h;
				x+=1;
		    	continue;
	    	}
			if(a[x][y-1]==0)
	       	{
	    		h++;
	    		a[x][y-1]=h;
				y-=1;
	    		continue;
	    	}
	    	if(a[x-1][y]==0)
	    	{
	    		h++;
	    		a[x-1][y]=h;
				x-=1;
	    		continue;
	    	}
    	}
	}
    a[0][0]=1;
	for(int i=0;i<=n-1;i++)
	{
		for(int j=0;j<=n-1;j++)
		{
			if(a[i][j]<10)
				printf(" %d ",a[i][j]);
			else
				printf("%d ",a[i][j]);
		}
		cout<<endl;
	}

	return 0;
}

2022/12/20 21:42
加载中...