PS

BOJ 2823 : 유턴 싫어

lickelon 2025. 1. 24. 23:52
  • 문제 링크 : boj.kr/2823
  • 난이도 : S2
  • 태그 : 그래프 이론

코드

#include <bits/stdc++.h>

#define all(x) (x).begin(), (x).end()

#define INF 0x7FFFFFFF

using namespace std;

using ll = long long;
using ld = long double;
using pii = pair<int,int>;
using pll = pair<ll, ll>;

int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0); cout.tie(0);

    int r, c;
    cin >> r >> c;
    vector<vector<int>> board(r+2, vector<int>(c+2, 0));
    for(int i = 1; i <= r; i++) {
        string s;
        cin >> s;
        for(int j = 1; j <= c; j++) {
            if(s[j-1] == '.') board[i][j] = 1;
        }
    }

    int ans = 0;
    for(int i = 1; i <= r; i++) {
        for(int j = 1; j <= c; j++) {
            if(board[i][j] == 0) continue;
            int cnt = 0;
            int dx[] = {1, 0, -1, 0};
            int dy[] = {0, 1, 0, -1};
            for(int d = 0; d < 4; d++) {
                cnt += board[i+dx[d]][j+dy[d]];
            }
            if(cnt == 1) ans = 1;
        }
    }
    cout << ans;

    return 0;
}

풀이

어떤 길이 막다른 길이라는 것은 그 주변 상하좌우에 연결된 길이 하나밖에 없다는 것을 의미한다.

728x90

'PS' 카테고리의 다른 글

BOJ 32981 : 찐 Even Number  (0) 2025.01.27
BOJ 33257 : 상현이의 물리학및실험1 실험 대작전  (0) 2025.01.25
BOJ 10025 : 게으른 백곰  (0) 2025.01.23
BOJ 11060 : 점프 점프  (0) 2025.01.22
BOJ 10866 : 덱  (0) 2025.01.21