06 - 시계 맞추기 CLOCKSYNC
1. 시계 16개를 모두 12시가 되도록 스위치를 누르는 문제. 2,3. 스위치와 시계의 연결은 const vector linked[10] = { //[switch][clock]형태 {0,1,2}, {3,7,9,11}, {4,10,14,15}, {0,4,5,6,7}, {6,7,8,10,12}, {0,2,14,15}, {3,14,15}, {4,5,7,14,15}, {1,2,3,4,5}, {3,4,5,9,13} }; 이렇게 함. 스위치를 4번 이상 누르는 경우가 없다. 스위치를 누르는 순서는 상관이 없다 (이걸 생각을 못해서 처음에 재귀를 못짬.) -> 스위치 누르는 순서를 0번-9번으로 강제함. 기저: 누를 스위치가 10번(존재하지않음)일 때 시계들이 정렬돼 있다면 0, 아니면 큰 수 반환 5. #incl..
2019. 6. 27.
06 - 게임판 덮기 BOARDCOVER
1. 흰 칸에 4가지 타입의 ㄴ모양 블럭을 둬서 꽉 채우는 경우의 수를 출력. 2. 현재 위치 기준으로 fx[4][3] = { {0,0,1}, {0,0,1}, {0,1,1}, {0,1,1} }; fy[4][3] = { {0,1,1}, {0,1,0}, {0,0,1}, {1,0,1} }; 에 블럭을 두도록 설계하자. 3.map[][]에 문자 입력받고, mark[][]에 블럭을 둔 곳을 표시하도록 함. (입력받을 때 검정색 부분도 마크하도록 함) map의 제일 좌상단을 기준으로 x가 1증가하는 방향(x범위 초과 시 y 1증가, x = 0)으로 탐색 int go(int cy, int cx) //게임판을 덮는 경우의 수를 출력하는 재귀함수 기저: - 모든 블럭이 마크됐으면 게임판이 덮어 진 것으로 return 1..
2019. 6. 25.