ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [PS:Codeup1099]성실한 개미
    Engineering/Programming 2021. 3. 1. 22:39

    reference : codeup.kr/problem.php?id=1099

    #include <bits/stdc++.h>
    using namespace std;
    
    int main(){
        // 격자판 초기화
        vector<vector<int>> ant(11, vector<int>(11, 0));
        
        // 격자판 입력
        for(int i = 1; i <= 10; i++){
            for(int j = 1; j <= 10; j++){
                cin>>ant[i][j];
            }
        }
    
        // 개미집 초기 좌표
        int x = 2, y = 2;
    
        // 미로에서 먹이 찾기 알고리즘
        while(1){
          if(ant[2][2] == 2){ // 개미집 앞에서 바로 먹이 찾았을 때
            ant[2][2] = 9;
            break;
          }
          else{
            ant[2][2] = 9; // 개미집부터 시작
            if(ant[y][x + 1] == 0){ // 오른쪽 판단 : 0 아무것도 없을 때 전진
              ant[y][x + 1] = 9;
              x++;
            }
            else if(ant[y][x + 1] == 2){ // 오른쪽 판단 : 먹이 발견
              ant[y][x + 1] = 9;
              break;
            }
            else{ // 오른쪽 판단 : 1 있을 때 아래로
              if(ant[y + 1][x] == 0){ // 아래쪽 판단 : 0 아무것도 없을 때  아래로 전진
                ant[y + 1][x] = 9;
                y++;
              }
              else if(ant[y + 1][x] == 2){  // 아래쪽 판단 : 먹이 발견
                ant[y + 1][x] = 9;
                break;
              }
              else{
                break; // 아래쪽 판단 : 1 갈 곳 없음
              }
            }
          }
        }
    
        // 출력
        for(int i = 1; i <= 10; i++){
            for(int j = 1; j <= 10; j++){
                cout<<ant[i][j]<<" ";
            }
            cout<<endl;
        }
    }
    반응형

    댓글

Designed by Titus Choi.