hy30nq's blog
1099 풀이 본문
728x90
https://codeup.kr/problem.php?id=1099
[기초-2차원배열] 성실한 개미
C언어기초100제v1.2 : @컴퓨터과학사랑, 전국 정보(컴퓨터)교사 커뮤니티/연구회 - 학교 정보(컴퓨터)선생님들과 함께 수업/방과후학습/동아리활동 등을 통해 재미있게 배워보세요. - 모든 내용
codeup.kr
답
#include <stdio.h>
int map[12][12];
void back(int r, int c)
{
if(map[r][c] == 2)
{
map[r][c] = 9;
return ;
}
map[r][c] = 9;
if(map[r][c+1] != 1)
back(r, c+1);
else if(map[r+1][c] != 1)
back(r+1, c);
}
int main()
{
int i, j;
for(i = 1; i <= 10; i++)
for(j = 1; j <= 10; j++)
scanf("%d", &map[i][j]);
back(2, 2);
for(i = 1; i <= 10; i++,puts(""))
for(j = 1; j <= 10; j++)
printf("%d ", map[i][j]);
}
#include<stdio.h>
int main()
{
int map[11][11],x=2,y=2,i,j;
for(i=1;i<=10;i++)
for(j=1;j<=10;j++)
scanf("%d",&map[i][j]);
while(map[x][y]!=2)
{
map[x][y]=9;
if(map[x][y+1]!=1) y+=1;
else if(map[x+1][y]!=1) x+=1;
else break;
}
map[x][y]=9;
for(i=1;i<=10;i++)
{
for(j=1;j<=10;j++)
printf("%d ",map[i][j]);
printf("\n");
}
return 0;
}
내가 푼 풀이
#include <stdio.h>
#define MAX_SIZE 10
int main() {
int maze[MAX_SIZE][MAX_SIZE];
int x = 1, y = 1; // 개미의 시작 위치 (2, 2)를 배열 인덱스에 맞게 조정
int i, j;
// 사용자로부터 미로 데이터 입력받기
for (i = 0; i < MAX_SIZE; i++) {
for (j = 0; j < MAX_SIZE; j++) {
scanf("%d", &maze[i][j]);
}
}
while (1) {
// 먹이를 찾거나 더 이상 움직일 수 없을 때까지 반복
if (maze[x][y] == 2 || (x == MAX_SIZE - 1 && y == MAX_SIZE - 1)) {
maze[x][y] = 9; // 현재 위치 표시
break;
}
maze[x][y] = 9; // 현재 위치 표시
// 오른쪽 또는 아래로 움직임
if (y + 1 < MAX_SIZE && maze[x][y + 1] != 1) {
y++;
} else if (x + 1 < MAX_SIZE && maze[x + 1][y] != 1) {
x++;
} else {
// 더 이상 움직일 수 없는 경우
break;
}
}
// 미로와 개미의 경로 출력
for (i = 0; i < MAX_SIZE; i++) {
for (j = 0; j < MAX_SIZE; j++) {
printf("%d ", maze[i][j]);
}
printf("\n");
}
return 0;
}

728x90