반응형
✏️ 문제 링크
https://www.acmicpc.net/problem/2178
✏️ 문제 설명 (더보기 클릭 👆🏻)
✏️ 문제 코드
#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 |
댓글