-Layer7 코드업 1490 2차원 배열 달팽이 채우기

2023. 4. 16. 16:37Layer7

 

와.. 진짜 시간 오래 걸렸다. n * m 의 배열을 출력하는게 이렇게 고된 작업인줄은 상상도 못했다;

#include "stdio.h"; int main(void) { int a[101][101] = {}; int b, c; scanf("%d %d", &b, &c); int d = 1; int e = b; int f = 1; int g = 1; int h = -1; for(int i = 1; i <= b*c; i++){ a[e][f] = d; d++; if(f <= c && g == 1 && h == 1){ if(f+1 <= c && a[e][f+1] == 0){f++;} else{ e++; g = -1; } } else if(e <= b && g == -1 && h == 1){ if(e+1 <= b && a[e+1][f] == 0){e++;} else{ f--; h = -1; } } else if(f >= 1 && g == -1 && h == -1){ if(f-1 > 0 && a[e][f-1] == 0){f--;} else{ e--; g = 1; } } else if(e >= 1 && h == -1 && g == 1 ){ if(e-1 > 0 && a[e-1][f] == 0){ e--; } else{ f++; h = 1; } } } for(int i = 1; i <= b; i++){ for(int j = 1; j <= c; j++){ printf("%d ",a[i][j]); } printf("\n"); } return 0; }