백준 10026. 적록색약

2025. 1. 29. 14:05·백준

https://www.acmicpc.net/problem/10026

import sys
from collections import deque
input = sys.stdin.readline
sys.setrecursionlimit(10**6)

n = int(input())
arr = [list(input().rstrip()) for _ in range(n)]

# 적록색약: R = G
# 정상: R, G, B

not_blind, blind = 0,0
visited = [[0]*n for _ in range(n)]
b_visited = [[0]*n for _ in range(n)]

# 정상
def dfs(i,j, color):
    for dx, dy in [(1, 0), (-1, 0), (0, 1), (0, -1)]:
        nx, ny = i + dx, j + dy
        if 0 <= nx < n and 0 <= ny < n and not visited[nx][ny] and arr[nx][ny] == color:
            visited[nx][ny] = 1
            dfs(nx,ny, arr[nx][ny])

# 정상
for i in range(n):
    for j in range(n):
        if not visited[i][j]:
            dfs(i,j, arr[i][j])
            not_blind += 1

# 색약
def b_dfs(i,j, color):
    for dx, dy in [(1, 0), (-1, 0), (0, 1), (0, -1)]:
        nx, ny = i + dx, j + dy
        if 0 <= nx < n and 0 <= ny < n and not b_visited[nx][ny]:
            if color == arr[nx][ny] or (color != 'B' and arr[nx][ny] != 'B'):
                b_visited[nx][ny] = 1
                b_dfs(nx,ny, arr[nx][ny])

# 색약
for i in range(n):
    for j in range(n):
        if not b_visited[i][j]:
            b_dfs(i,j, arr[i][j])
            blind += 1

print(not_blind, blind)
저작자표시 (새창열림)

'백준' 카테고리의 다른 글

백준 9466. 텀 프로젝트  (0) 2025.01.30
백준 5427. 불  (0) 2025.01.29
10971. 외판원 순회 2  (0) 2025.01.28
백준 11724. 연결 요소의 개수  (0) 2025.01.28
백준 4179. 불!  (0) 2025.01.26
'백준' 카테고리의 다른 글
  • 백준 9466. 텀 프로젝트
  • 백준 5427. 불
  • 10971. 외판원 순회 2
  • 백준 11724. 연결 요소의 개수
버그잡는고양이발
버그잡는고양이발
주니어 개발자입니다!
  • 버그잡는고양이발
    지극히평범한개발블로그
    버그잡는고양이발
  • 전체
    오늘
    어제
    • 분류 전체보기 (382)
      • React (16)
      • Next.js (5)
      • Javascript (5)
      • Typescript (4)
      • Node.js (2)
      • Cs (16)
      • 트러블 슈팅 (5)
      • Html (1)
      • Css (3)
      • Django (0)
      • vue (0)
      • Java (2)
      • Python (0)
      • 독서 (1)
      • 기타 (3)
      • 백준 (192)
      • swea (31)
      • 프로그래머스 (30)
      • 이코테 (4)
      • 99클럽 코테 스터디 (30)
      • ssafy (31)
      • IT기사 (1)
  • 블로그 메뉴

    • 홈
    • 태그
  • 인기 글

  • 태그

    Til
    개발자취업
    항해99
    코딩테스트준비
    99클럽
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
버그잡는고양이발
백준 10026. 적록색약
상단으로

티스토리툴바