#include <stdio.h>
int squ[100][100]={0};
int cnt=1;
void pr(int n);
int square(int n, int x, int y, int a);
int main(void)
{
int n;
scanf("%d", &n);
square(n, 0, 0, 1);
pr(n);
return 0;
}
void pr(int n)
{
int i, j;
for(i=0; i<n; i++)
{
for(j=0; j<n; j++)
printf("%d ", squ[i][j]);
printf("\n");
}
}
int square(int n, int x, int y, int a)
{
if(cnt>n*n)
return 0;
if(squ[x][y]==0 && x<n && y<n && x>=0 && y>=0 && cnt<=n*n)
{
if(a==1)
{
squ[x][y]=cnt++;
square(n, ++x, --y, a);
}
if(a==2)
{
squ[x][y]=cnt++;
square(n, --x, ++y, a);
}
}
else
{
if(a==1)
{
if(cnt<=(n*n)/2)
square(n, x, ++y, 2);
else
square(n, --x, y+2, 2);
}
else
{
if(cnt<=(n*n)/2)
square(n, ++x, y, 1);
else
square(n, x+2, --y, 1);
}
}
}
2017.11.25 10:36
정올 대각선지그재그
조회 수 373 추천 수 0 댓글 0