#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
정올 대각선지그재그
조회 수 353 추천 수 0 댓글 0