hy30nq's blog

1099 풀이 본문

개인 공부/CodeUp 문제 풀이

1099 풀이

hy30nq 2024. 1. 5. 13:28
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

'개인 공부 > CodeUp 문제 풀이' 카테고리의 다른 글

1102 풀이  (0) 2024.01.05
1101 풀이  (0) 2024.01.05
1098 풀이  (1) 2024.01.05
1097 풀이  (0) 2024.01.05
1096 풀이  (0) 2024.01.04