2017/04/03 3

BOJ#14226 이모티콘

BOJ#14226 이모티콘 * 문제https://www.acmicpc.net/problem/14226 * 풀이 푸는데 고생했지만 재밌는 문제입니다.처음에는 1000개의 테스트케이스 중 11개만 틀렸는데, 원인을 찾기 쉽지 않았습니다. BFS 돌리면서 visited 배열로 정점을 중복 방문하지 않게 구현했는데, 이것이 실패 원인이었습니다. 왜냐하면 정점의 값이 같더라도 클립보드에 어떤 내용이 들어있는지에 따라 향후 탐색할 수 있는 정점이 달라지기 때문입니다. 따라서 visited 배열을 discovered 배열의 개념으로 바꾸고discovered 배열을 (기존)boolean[][] discovered = new boolean[정점] (변경)boolean[][] discovered = new boolean[..

Nim 게임

Nim 게임 * Nim 게임이란?님(Nim)은 수학적 전략 보드 게임이다. 몇개의 줄에 숫자나 자연수개의 돌을 두고 순서대로 돌아가면서 한 줄에서 정해진 수의 숫자를 제거한다. 가져오는 숫자에는 상한이 있으며 무조건 1개는 가져와야 한다. 마지막 돌을 가져오는 사람이 이긴다. (마지막 돌을 가져오는 사람이 지는 것으로 하기도 한다.) * 필승 규칙"불균형 상태를 균형 상태로 바꾼다." - 2줄인 경우 -> 균형 상태 : 두 줄의 돌의 개수가 같은 경우 -> 불균형 상태 : 두 줄의 돌의 개수가 다른 경우 - 3줄인 경우 : -> 균형 상태 : Nim Sum이 000인 경우 -> 불균형 상태 : 균형 상태가 아닌 경우 * Nim 게임 해보기http://www.transience.com.au/pearl3.h..

Algorithm/기타 2017.04.03