JXNVCE ALGO-LOG YouJin Jung

BOJ-7576

๐Ÿ…BFS๐Ÿ… ๋ฌธ์ œ์ธ๋ฐ, ๊ฐœ๋…์€ ์•„๋Š”๋ฐ ์ฝ”๋“œ๋กœ ๊ตฌํ˜„ํ•˜๋Š”๊ฒŒ ํ—ท๊ฐˆ๋ ค์„œ Geeks for Geeks์™€ ๊ตฌ๊ธ€๋ง์„ ์ฐธ๊ณ ํ–ˆ๋‹คโ€ฆ ์•„๋‹ˆ ์ •๋ง ๋‚œ ์™œ ์ด๋ ‡๊ฒŒ ๋ฉ์ฒญํ•œ๊ฑฐ๋ƒโ€ฆ

#include <iostream>
#include <queue>
#include <utility>

using namespace std;
 
pair<int, int> p; 
queue<pair<int, int>> q;

int dx[4] = { 1, 0, -1, 0 };
int dy[4] = { 0, 1, 0 , -1 };
 
int n, m, result = 0;
int graph[1001][1001];
 
bool inside(int ny, int nx) {
    return (0 <= nx && 0 <= ny && nx < m && ny < n);
}
 
void bfs(void) {
    while (!q.empty()) {
        int y = q.front().first;
        int x = q.front().second;
        q.pop();
 
        for (int i=0; i<4; i++) {
            int ny = y + dy[i];
            int nx = x + dx[i];
 
            if (inside(ny,nx) && graph[ny][nx] == 0) {
                graph[ny][nx] = graph[y][x] + 1;
                pair<int, int> temp = make_pair(ny, nx);
                q.push(temp);
            }
        }
    }
}
 
int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL); cout.tie(NULL);
    
    int m,n;
    cin >> m >> n;

    for (int i = 0; i < n; i++) {
        for (int j = 0; j < m; j++) {
            cin >> graph[i][j];
            if (graph[i][j] == 1) { 
                pair<int, int> temp = make_pair(i,j);
                q.push(temp);
            }
        }
    }

    bfs();
 
    for (int i=0; i<n; i++) {
        for (int j=0; j<m; j++) {
            if (graph[i][j] == 0) { 
                cout << "-1" << endl;
                return 0;
            }
            if (result < graph[i][j]) {
                result = graph[i][j];
            }
        }
    }
    cout << result-1 << endl;
    return 0;
}

์˜ค๋Š˜์˜ TMI

  1. GitHub Repo์— ๋“ค์–ด๊ฐ„๋‹ค
  2. Repo ํ™”๋ฉด์—์„œ . ํ‚ค๋ฅผ ๋ˆ„๋ฅธ๋‹ค
  3. Online VSCode Editor๋ฅผ ํ†ตํ•ด ์ฝ”๋“œ ์ˆ˜์ •์ด ๊ฐ€๋Šฅํ•˜๋‹ค

LinkedIn์—์„œ ์ด ๊ธ€์„ ๊ณ„์† ๋ดค์—ˆ๋Š”๋ฐ, ์ €๊ฒŒ ๋ญ์ง€(?) ํ•˜๋ฉด์„œ ํ•ธ๋“œํฐ ๋ณด๋‹ค๊ฐ€ ์ง‘์— ์™€์„œ ํ•ด๋ณด๋‹ˆ ์ด๊ฒŒ ๋œ๋‹คโ€ฆ!!!๐Ÿ˜ฑโœจ ๋„ˆ๋ฌด ์‹ ๊ธฐํ•ดโ€ฆ ๊ฐ€๋” ๊ท€์ฐฎ์„ ๋•Œ๋Š” GitHub Web์—์„œ ์ฝ”๋“œ ์ˆ˜์ •ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์•˜๋Š”๋ฐ, ์ด๋ ‡๊ฒŒ ํŽธํ•˜๊ฒŒ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋‹ค๋‹ˆ ๋„ˆ๋ฌด ์‹ ๊ธฐํ•œ ๊ฒƒโ€ฆ..!!! ์–ด์จŒ๋“  Online GitHub VS Code Editor๋กœ ์จ๋ณด๋Š” ์ฒซ ๋ธ”๋กœ๊ทธ ๊ธ€! ์•ˆ๋…• ๐Ÿ‘๐Ÿผ๐Ÿ˜Ž๐Ÿ‘‹๐Ÿผ๐Ÿ‘‹๐Ÿผ