문제 링크
- http://icpc.me/18665
풀이
재귀를 적절히 돌려 정답을 구할 수 있습니다.
N을 만드는 함수 dfs(N)을 정의합시다.
N을 만들기 위해서는 $N = x^2 - y$를 만족하는 두 정수 x와 y가 존재해야 합니다. 그러므로 N을 적절히 분할해서 x, y를 찾은 다음 dfs(x)와 dfs(y)를 호출해주면 됩니다.
N을 “적절히” 분할하는 것이 문제인데, 저는 $x = \lceil \sqrt N \rceil, y = x^2 - N$로 분할했습니다.
전체 코드
1 |
|