这里是问题
  • 板块灌水区
  • 楼主yn_ko_86
  • 当前回复0
  • 已保存回复0
  • 发布时间2023/2/26 11:00
  • 上次更新2023/10/23 23:43:45
查看原帖
这里是问题
741531
yn_ko_86楼主2023/2/26 11:00

10分求助

#include <iostream>
using namespace std;
int n,a[10010][10010],x=1,y,ans=2;
int main()
{
	cin>>n;
	y=(n+1)/2;
	a[x][y]=1;
	int w=n*n;
	for(int i=2;i<=w;++i)
	{
	    if(x==1&&y!=n)
	    {
	    	a[n][y+1]=ans;
	    	x=n;
	    	y=y+1;
	    	ans++;
		}
		else if(x!=1&&y==n)
		{
			a[x-1][1]=ans;
			x=x-1;
			y=1;
			ans++;
		}
		else if(x==1&&y==n)
		{
			a[x+1][y]=ans;
			x=x+1;
			ans++;
		}
		else 
		{
			if(a[x-1][y+1]==0)
			{
				a[x-1][y+1]=ans;
				x=x+1;
				y=x-1;
				ans++;
			}
			else
			{
				a[x+1][y]=ans;
				x=x+1;
				ans++;
			}
		}
	}
	for(int i=1;i<=n;i++)
	{
		for(int e=1;e<=n;e++)
		cout<<a[i][e]<<" ";
		cout<<endl;
	}
    return 0;
}
2023/2/26 11:00
加载中...