BOJ 10472 - 십자뒤집기
문제 백준 온라인 저지 - 10472번 풀이 과정 보드의 최종 상태가 주어질 때, 초기 상태에서 해당 목표 상태에 도달하기 위한 최소 조작 횟수를 구하는 문제입니다. 이를 위해서 BFS 를 이용해 보드의 모든 가능한 상태를 순회해줍니다. 다만 중복된 상태 순회를 피하기 위해서 보드가 검은색으로 칠해져 있을 경우 1 로, 그렇지 않을 경우 0 으로 변환하여 이진수를 생성한 다음, 중복된 상태를 검증합니다. 코드 import sys import copy from collections import deque dx = [0, 1, -1, 0, 0] dy = [0, 0, 0, 1, -1] def convert_board(board, x, y): ret = copy.deepcopy(board) for i in ra..
2021. 4. 18.