#include <iostream>
#include <string.h>
#include <stdio.h>
using namespace std;
long long int dp[10][10];
int n,mod=1000000007;
int main() {
ios::sync_with_stdio(false);
cin >> n;
dp[1][0]=1,dp[1][1]=2,dp[0][2]=1,dp[1][2]=1;
for(int i=2; i<=n; i++) {
dp[i%3][0]=(dp[(i-2+3)%3][2]+dp[(i-2+3)%3][1]+dp[(i-1+3)%3][0])%mod;
dp[i%3][1]=(dp[(i-1+3)%3][0]*2+dp[(i-1+3)%3][1])%mod;
dp[i%3][2]=(dp[i%3][0])%mod;
}
cout << dp[n%3][0];
return 0;
}
作者:心之所向_素履以往
链接:https://www.acwing.com/activity/content/code/content/3618864/
来源:AcWing
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
AcWing 4406. 积木画
最新推荐文章于 2024-07-25 22:41:55 发布