반응형
✏️ 문제 링크
https://www.acmicpc.net/problem/2178
2178번: 미로 탐색
첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다.
www.acmicpc.net
✏️ 문제 설명 (더보기 클릭 👆🏻)
✏️ 문제 코드
#include <bits/stdc++.h>
using namespace std;
using pii=pair<int, int>;
int m[101][101];
int N, M;
int dx[]={-1, 1, 0, 0};
int dy[]={0, 0, -1, 1};
int bfs(){
queue<pii> q; q.push({0,0});
while(!q.empty()){
int x=q.front().first; int y=q.front().second;
q.pop();
for(int i=0; i<4; i++){
int nx=x+dx[i]; int ny=y+dy[i];
if(nx<0 || nx>=N || ny<0 || ny>=M || m[nx][ny]!=1) continue;
m[nx][ny]=m[x][y]+1;
q.push({nx, ny});
}
}
return m[N-1][M-1];
}
int main(){
cin>>N>>M;
for(int i=0; i<N; i++){
for(int j=0; j<M; j++){
scanf("%1d", &m[i][j]);
}
}
cout<< bfs();
return 0;
}
⭐ if feedback and question : comment please⭐
반응형
'Algorithm 💫 > Problem Solving' 카테고리의 다른 글
[백준] 2606번: 바이러스 / C++ (0) | 2021.09.16 |
---|---|
[백준] 1743번: 음식물 피하기 / C++ (0) | 2021.09.16 |
[백준] 1303번: 전쟁 - 전투 / C++ (0) | 2021.09.16 |
[백준] 1260번: DFS와 BFS / C++ (0) | 2021.09.15 |
[백준] 1916: 최소비용 구하기/ 다익스트라 / C++ ⭐ (0) | 2021.09.15 |
댓글