목록2021/06/04 (2)
1. 문제정의 그림과 같이 4 x 4 개의 격자 형태로 배치된 16개의 시계가 있다. 이 시계들은 모두 12시, 3시, 6시, 혹은 9시를 가리키고 있다. 이 시계들이 모두 12시를 가리키도록 바꾸고 싶다. 시계의 시간을 조작하는 유일한 방법은 모두 10개 있는 스위치들을 조작하는 것으로, 각 스위치들은 모두 적게는 3개에서 많게는 5개의 시계에 연결되어 있다. 한 스위치를 누를 때마다, 해당 스위치와 연결된 시계들의 시간은 3시간씩 앞으로 움직인다. 스위치들과 그들이 연결된 시계들의 목록은 다음과 같다. 0번 스위치 -> 0, 1, 2 시계와 연결됨 1번 스위치 -> 3, 7, 9, 11 시계와 연결됨 2번 스위치 -> 4, 10, 14,15 시계와 연결됨 3번 스위치 -> 0, 4, 5, 6, 7 시..
1. 문제정의 H*W 크기의 게임판이 있습니다. 게임판은 검은 칸과 흰 칸으로 구성된 격자 모양을 하고 있는데 이 중 모든 흰 칸을 3칸짜리 L자 모양의 블록으로 덮고 싶습니다. 이 때 블록들은 자유롭게 회전해서 놓을 수 있지만, 서로 겹치거나, 검은 칸을 덮거나, 게임판 밖으로 나가서는 안 됩니다. 위 그림은 한 게임판과 이를 덮는 방법을 보여줍니다. 게임판이 주어질 때 이를 덮는 방법의 수를 계산하는 프로그램을 작성하세요. 입력 력의 첫 줄에는 테스트 케이스의 수 C (C 1) //겹쳐질 경우 ok = false; } return ok; } //board의 모든 빈 칸을 덮을 수 있는 방법의 수를 반환 //board[i][j]=1 이미 덮인 칸 혹은 검은 칸 //board[i][j]=0 아직 덮이지 ..