#include <stdio.h> int squ[100][100]={0}; void pr(int n); int square(int n, int a, int x, int y); int main(void) { int n; scanf("%d", &n); // pr(n); square(n, 1, 0, n/2); 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"); } //printf("\n"); } int square(int n, int a, int x, int y) { //printf("x= %d y= %d a= %d \n", x, y, a); if(x>=0 && y>=0 && x<n && y<n && a<=(n*n) && squ[x][y]==0) { squ[x][y]=a; //pr(n); if(a%n==0) square(n, ++a, ++x, y); else square(n, ++a, --x, --y); } else { if(x<0) square(n, a, n-1, y); else if(y<0) square(n, a, x, n-1); else if(a>(n*n)) return 0; } }
2017.12.27 23:41
정올 - 실력키우기 - 마방진(2074)
조회 수 322 추천 수 0 댓글 0