https://www.acmicpc.net/problem/1194 1194번: 달이 차오른다, 가자. 첫째 줄에 미로의 세로 크기 N과 가로 크기 M이 주어진다. (1 ≤ N, M ≤ 50) 둘째 줄부터 N개의 줄에 미로의 모양이 주어진다. 같은 타입의 열쇠가 여러 개 있을 수 있고, 문도 마찬가지이다. 그리고, www.acmicpc.net BFS "최소 거리"를 구해야 하기 때문에 BFS를 사용해야 한다. 처음에는 열쇠 조건을 배열로 만들려고 DFS로 구현했었는데 시간 초과가 나왔다. BFS로 바꾸니까 통과할 수 있었다. 방문 체크 처음에 DFS를 사용했던 게 방문 체크에 조건이 복잡했기 때문이다. 만일 단순히 v[N][M]으로 체크를 해준다면, 막다른 길에 열쇠가 있을 때 열쇠를 갖고도 다시 못 돌아..
비트마스킹

https://www.acmicpc.net/problem/9663 9663번: N-Queen N-Queen 문제는 크기가 N × N인 체스판 위에 퀸 N개를 서로 공격할 수 없게 놓는 문제이다. N이 주어졌을 때, 퀸을 놓는 방법의 수를 구하는 프로그램을 작성하시오. www.acmicpc.net 순열 Permutation + 2차원 배열 내가 이 문제를 푼 건 순열과 2차원 배열을 사용한 것인데, 다른 사람의 제출을 확인했을 때 비트마스킹으로 깔끔하게 푼 풀이가 있었다. 일단 내가 푼 방법을 적고, 비트마스킹으로 푸는 방법을 소개하려고 한다. 일단 제한시간이 10초나 되기 때문에 순열로 풀어도 될 것이라 판단했다. 한 행 당 한 번의 선택을 한다해도 안되는 부분을 체크한다면 15!이나 걸릴 리 없기 때문..