111

马彦宸  •  3年前


#include<bits/stdc++.h> 
using namespace std; 
int main(){ 
int n; 
cin>>n; 
int ma[n][n]; 
int x=0,y=0,sum=1,zt=0; 
ma[0][0]=1; 
for(int i=0;i<n*n;i++) 

 zt='y'; 
 if(x>=4||y>=4||x<=0||y<=0) 
 { 
  if(zt=='y')zt='x'; 
  if(zt=='x')zt='z'; 
  if(zt=='z')zt='s'; 
  if(zt=='s')zt='y'; 
 } 
 if(zt=='y') 
 { 
  if(ma[x][y+1]==0)ma[x][y++]=sum++; 
  else zt='x'; 
 } 
 if(zt=='x') 
 { 
  if(ma[x+1][y]==0)ma[x++][y]=sum++; 
  else zt='z'; 
 } 
 if(zt=='z') 
 { 
  if(ma[x][y-1]==0)ma[x][y--]=sum++; 
  else zt='s'; 
 } 
 if(zt=='s') 
 { 
  if(ma[x-1][y]==0)ma[x--][y]=sum++; 
  else zt='y'; 
 } 

for(int i=0;i<n;i++){ 
 for(int j=0;j<n;j++) 
  cout<<ma[i][j]<<" "; 
 cout<<endl; 

}


评论: