[コードテストC+]2 xnタイル2
今日の質問
2 x nタイル2
方法
私の答え
#include<iostream>
using namespace std;
int n;
const int DIV = 10007;
int solution(){
if(n == 1)
return 1;
int dp[2];
dp[0] = 1;
dp[1] = 3;
for(int i=2;i<n;i++){
int temp = (dp[0]*2 +dp[1])%DIV;
dp[0] = dp[1];
dp[1] = temp;
}
return dp[1];
}
別の解釈
#include <stdio.h>
int main(void) {
int D [1001] = {};
int N;
D[1] = 1;
D[2] = 3;
scanf("%d", &N);
for (int i = 3; i <= N; i++) {
D[i] = (D[i-1] + 2*D[i-2]) % 10007;
}
printf("%d\n", D[N] % 10007);
return 0;
}
学ぶべきところ
Reference
この問題について([コードテストC+]2 xnタイル2), 我々は、より多くの情報をここで見つけました https://velog.io/@huijae0817/코딩테스트-C-2-x-n-타일링-2テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol