C언어/백준 문제풀이

백준(S3) 11727번: 2xn 타일링2 (C언어 C11 C99)

코딩하는_대학생 2021. 10. 3. 18:02
반응형

코드를 보기 전에: 이 문제는 비슷한 유형의 문제가 있으므로, 그 문제를 푼 사람은 이 문제를 거의 다 풀수 있을것이다.

그 문제를 해결했는데 이 문제를 못풀어서 해답을 찾아본 사람의 대부분은 방법의 수를 찾는 공식때문 일 것이다.

 

공식: 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
반응형