해결된 질문
작성
·
311
0
using namespace 아래로 답지꺼 복붙 하니까 제대로 되는데 제가 답지 따라서 타이핑 친 건 이건데 안 나오네요 아무리 봐도 어디가 잘못된 줄 모르겠어요
#include<iostream>
#include<cstring>
#include<queue>
#include<tuple>
using namespace std;
int n, m, mx, visited[54][54];
const int dy[]={-1,0,1,0};
const int dx[]={0,1,0,-1};
char a[54][54];
void bfs(int y, int x){
memset(visited,0,sizeof(visited));
visited[y][x]=1;
queue<pair<int,int>>q;
q.push({y,x});
while(q.size()){
tie(y,x)=q.front();q.pop();
for(int i=0;i<4;i++){
int ny=y+dy[i];
int nx=x+dy[i];
if(ny<0||ny>=n||nx<0||nx>=m)continue;
if(visited[ny][nx])continue;
if(a[ny][nx]=='W')continue;
visited[ny][nx]=visited[y][x]+1;
q.push({ny,nx});
mx=max(mx, visited[ny][nx]);
}
}
return;
}
int main(){
cin >> n >> m;
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
cin>>a[i][j];
}
}
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
if(a[i][j]=='L')bfs(i,j);
}
}
cout << mx-1 << "\n";
}
답변 1
1
안녕하세요 현성님 ㅎㅎ
int ny=y+dy[i];
int nx=x+dy[i];
이부분이요. nx부분 다시한번 보시겠어요? ㅎㅎ
또 질문 있으시면 언제든지 질문 부탁드립니다.
좋은 수강평과 별점 5점은 제가 큰 힘이 됩니다. :)
감사합니다.
강사 큰돌 올림.