fork download
  1. #include <stdio.h>
  2.  
  3. #define SIZE 12 // 미로 상자의 크기는 최대 10x10이며, 테두리 벽을 고려하여 크기를 12x12로 설정
  4.  
  5. int main() {
  6. int maze[SIZE][SIZE]; // 미로 상자 배열
  7. int x = 2, y = 2; // 개미의 시작 위치 (2, 2)
  8.  
  9. // 미로 상자 입력
  10. for (int i = 1; i <= 10; i++) {
  11. for (int j = 1; j <= 10; j++) {
  12. scanf("%d", &maze[i][j]);
  13. }
  14. }
  15.  
  16. // 개미의 이동
  17. while (maze[x][y] != 2) {
  18. if (maze[x][y+1] != 1) { // 오른쪽으로 이동할 수 있는 경우
  19. y++;
  20. } else if (maze[x+1][y] != 1) { // 오른쪽으로 이동할 수 없고 아래쪽으로 이동할 수 있는 경우
  21. x++;
  22. } else { // 오른쪽과 아래쪽으로 이동할 수 없는 경우
  23. break;
  24. }
  25. }
  26.  
  27. // 개미의 이동 경로 출력
  28. maze[x][y] = 9; // 개미가 머무른 곳을 표시하기 위해 숫자 9 사용
  29. for (int i = 1; i <= 10; i++) {
  30. for (int j = 1; j <= 10; j++) {
  31. printf("%d ", maze[i][j]);
  32. }
  33. printf("\n");
  34. }
  35.  
  36. return 0;
  37. }
  38.  
Success #stdin #stdout 0s 5304KB
stdin
1 1 1 1 1 1 1 1 1 1
1 0 0 1 0 0 0 0 0 1
1 0 0 1 1 1 0 0 0 1
1 0 0 0 0 0 0 1 0 1
1 0 0 0 0 0 0 1 0 1
1 0 0 0 0 1 0 1 0 1
1 0 0 0 0 1 2 1 0 1
1 0 0 0 0 1 0 0 0 1
1 0 0 0 0 0 0 0 0 1
1 1 1 1 1 1 1 1 1 1
stdout
1 1 1 1 1 1 1 1 1 1 
1 0 0 1 0 0 0 0 0 1 
1 0 0 1 1 1 0 0 0 1 
1 0 0 0 0 0 0 1 0 1 
1 0 0 0 0 0 0 1 0 1 
1 0 0 0 0 1 0 1 0 1 
1 0 0 0 0 1 9 1 0 1 
1 0 0 0 0 1 0 0 0 1 
1 0 0 0 0 0 0 0 0 1 
1 1 1 1 1 1 1 1 1 1