求助,站外方阵题
  • 板块题目总版
  • 楼主DevilsFlame
  • 当前回复7
  • 已保存回复7
  • 发布时间2023/8/24 13:46
  • 上次更新2023/11/3 01:33:04
查看原帖
求助,站外方阵题
1050431
DevilsFlame楼主2023/8/24 13:46

【输入输出样例】 样例 1
输入样例
5
输出样例
15 7 6 2 1
16 14 8 5 3
22 17 13 9 4
23 21 18 12 10
25 24 20 19 11

#include<bits/stdc++.h>
using namespace std;
int main(){
	int n,a[21][21]={0},x,y;
	cin>>n;
	a[1][n]=1;
	x=1;y=n;
	for(int i=2;i<=n*n;i+=0){
		if(x==1){
			if(y>1){
				y-=1;
				a[x][y]=i;
				i+=1;}
			if(y==1&&x>1){
				x++;
				a[x][y]=i;
				i++;}
			while(y<n){
				a[x+1][y+1]=i;
				x+=1;
				y+=1;
				i+=1;}
		}
		if(y==n){
			if(x<n){
				x+=1;
				a[x][y]=i;
				i++;}
			if(x==n&&y!=n){
				y-=1;
				a[x][y]=i;
				i++;}
			while(x!=1){
				a[x-1][y-1]=i;
				x-=1;
				y-=1;
				i++;
			}}
	}
	for(int i=1;i<=n;i++){
		if(a[i][1]>9)
			cout<<a[i][1];
		else
			cout<<" "<<a[i][1];
		for(int j=2;j<=n;j++)
			if(a[i][j]>9)
				cout<<" "<<a[i][j];
			else
				cout<<"  "<<a[i][j];
		cout<<endl;
	}
	return 0;
}
2023/8/24 13:46
加载中...