반응형
코드를 보기 전에: 이 문제는 비슷한 유형의 문제가 있으므로, 그 문제를 푼 사람은 이 문제를 거의 다 풀수 있을것이다.
그 문제를 해결했는데 이 문제를 못풀어서 해답을 찾아본 사람의 대부분은 방법의 수를 찾는 공식때문 일 것이다.
공식: n>1, result[n] = (result[n-1] + result[n-2] * 2) % 10007
이 공식을 보고도 못풀면 그때 코드를 보기 바란다.
Fullcode
1
2
3
4
5
6
7
8
9
10
11
12
|
#include <stdio.h>
int main()
{
int result[1001] = { 1,1 }; // 공식에서 i-2까지 나오므로, 적어도 배열에는 0과 1의 값은 저장 됐어야 한다.
int n;
scanf("%d", &n);
for (int i = 2; i <= n; i++)
{
result[i] = (result[i - 1] + result[i - 2] * 2) % 10007; // 방법의 수를 구하는 공식
}
printf("%d\n", result[n]);
}
|
cs |
반응형