| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1 초 | 512 MB | 709 | 335 | 278 | 48.601% |
프로젝트 하느라 바쁜 득수는 밥 먹을 시간이 부족하다. 그래서 주로 찾는 식당 네 개 중 하나에서 하루에 한 번 밥을 먹는다. 귀찮으면 굶을 때도 있다.
늘 새로운 느낌을 받고 싶었던 득수는 다음과 같은 규칙으로 다음날 갈 식당을 정한다.
만약 2번 식당을 오늘 갔다면, 다음날 $1$, $2$, $3$번 식당은 가지 않는다. 따라서 새로운 느낌을 받으려면 $4$번 식당을 가거나 굶어야 한다.
득수가 $N$일 치 식단표를 만들려고 한다. 위 규칙을 따라 식단표를 만들 때 가능한 경우의 수를 구하는 프로그램을 작성하시오.
첫 번째 줄에는 득수가 만들어야 하는 점심 식단의 총 날짜 $N$이 입력으로 들어온다. $(1 \le N \le 200\,000)$
$N$일 치 식단표를 만들 때 가능한 경우의 수를 $1\,000\,000\,007(=10^9+7)$로 나눈 나머지를 출력한다.
1
5
첫날 식당을 가는 경우 네 가지와 굶는 경우 총 다섯 가지 경우의 수가 존재한다.
2
14
첫날은 굶고 다음 날 식당을 가는 경우 네 가지, 첫날 식당을 가고 다음 날 굶는 경우 네 가지, 이틀 연속으로 식당을 가는 경우 여섯 가지를 더하여 총 열네 가지이다.
University > 한양대학교 > 제8회 한양대학교 프로그래밍 경시대회 > Beginner Division D번