11726번 - 2×n 타일링
우선,
res[i] = (res[i - 1] + res[i - 2])%10007; 이렇게 나머지 연산을 미리하면 정답이 나옵니다.
그런데,
printf("%lld\n", res[n] % 10007);
로 하면 틀렸다고 나오는데 이유가 뭔가요?
중간에 21억을 넘어가면 오버플로우될 수 있습니다.
질문 게시판에 이에 대한 답변이 있습니다.
댓글을 작성하려면 로그인해야 합니다.
seonjoo2030 5년 전
우선,
res[i] = (res[i - 1] + res[i - 2])%10007; 이렇게 나머지 연산을 미리하면 정답이 나옵니다.
그런데,
printf("%lld\n", res[n] % 10007);
로 하면 틀렸다고 나오는데 이유가 뭔가요?