이 영역을 누르면 첫 페이지로 이동
자라자 블로그의 첫 페이지로 이동

자라자

페이지 맨 위로 올라가기

자라자

개발자를 준비하는 자라자의 블로그입니다.

백준 2178 미로탐색 C++

  • 2022.02.10 21:09
  • PS/BOJ

백준로고

[문제 링크]

https://www.acmicpc.net/problem/2178

[입출력 예]

입력 출력
4 6
101111
101010
101011
111011
15

[소스코드]

//20:35시작

#include <bits/stdc++.h>
using namespace std;
#define X first
#define Y second



int board[100][100];
int v[100][100];
int n,m;

int dx[4]= {1,0,-1,0};
int dy[4]= {0,1,0,-1};


void printBoard(){
    for (int i=0; i<n; i++){
        for (int j=0; j<m; j++){
            cout<<board[i][j];
        }
        cout<<'\n';
    }
}

int main(){

    ios::sync_with_stdio(0);
    cin.tie(0);

    cin>>n>>m;

    for (int i=0; i<n; i++){
        string s;
        cin>>s;
        for (int j=0; j<m; j++){
            board[i][j]=s[j]-'0';
        }
    }

    // printBoard();
    queue <pair<int,int>> Q;

    v[0][0]=1;
    Q.push({0,0});

    while(!Q.empty()){

        pair <int,int> cur = Q.front(); Q.pop();

        for(int i=0; i<4; i++){
            int nx = cur.X + dx[i];
            int ny = cur.Y + dy[i];

            if (nx<0 || nx>=n || ny<0 || ny>=m)continue;
            if (board[nx][ny]==0 || v[nx][ny]==1) continue;

            v[nx][ny]=1;
            board[nx][ny] = board[cur.X][cur.Y]+1;
            Q.push({nx,ny});
        }
    }

    cout << board[n-1][m-1];

    return 0;
}

[주의할 점]

  • 그래프 맨 끝 좌표 출력시 n,m으로 해서 처음에 0이 나왔다.
  • 입력값이 한 줄로 주어지므로 int로 받지 않고 string으로 받아서 처리한다.

'PS > BOJ' 카테고리의 다른 글

BOJ 2580 스도쿠 C++  (0) 2022.02.16
백준 1182 부분수열의 합 파이썬 풀이  (0) 2022.02.12
백준 3055번 탈출 파이썬  (0) 2022.02.09
백준 15683 감시 C++  (0) 2022.02.09
백준 9663 N-Queen  (0) 2022.02.09

댓글

이 글 공유하기

  • 구독하기

    구독하기

  • 카카오톡

    카카오톡

  • 라인

    라인

  • 트위터

    트위터

  • Facebook

    Facebook

  • 카카오스토리

    카카오스토리

  • 밴드

    밴드

  • 네이버 블로그

    네이버 블로그

  • Pocket

    Pocket

  • Evernote

    Evernote

다른 글

  • BOJ 2580 스도쿠 C++

    BOJ 2580 스도쿠 C++

    2022.02.16
  • 백준 1182 부분수열의 합 파이썬 풀이

    백준 1182 부분수열의 합 파이썬 풀이

    2022.02.12
  • 백준 3055번 탈출 파이썬

    백준 3055번 탈출 파이썬

    2022.02.09
  • 백준 15683 감시 C++

    백준 15683 감시 C++

    2022.02.09
다른 글 더 둘러보기

정보

자라자 블로그의 첫 페이지로 이동

자라자

  • 자라자의 첫 페이지로 이동

검색

메뉴

  • 🏠 HOME
  • 💡 ABOUT
  • 💻 GITHUB

카테고리

  • 분류 전체보기 (91)
    • Tech Note (3)
    • Dev Log (11)
    • Study Log (11)
    • Settings (3)
    • PS (53)
      • Programmers (21)
      • BOJ (32)
    • Diary (10)

최근 글

인기 글

댓글

공지사항

아카이브

태그

  • ㅣ
  • 리액트
  • 공식문서읽기

나의 외부 링크

정보

자라자의 자라자

자라자

자라자

블로그 구독하기

  • 구독하기
  • RSS 피드

방문자

  • 전체 방문자
  • 오늘
  • 어제

티스토리

  • 티스토리 홈
  • 이 블로그 관리하기
  • 글쓰기
Powered by Tistory / Kakao. © 자라자. Designed by Fraccino.

티스토리툴바