返回题解分享
讨论 / 题解分享/ 帖子详情

积木画(编程题) - 题解

递推,模拟

#include<bits/stdc++.h>
#include<vector>
using namespace std;

int N;
const int K = 1e7 + 10;
int arr[K];
long long MOD = 1000000007;

int main()
{
	ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);//取消同步流,让C++代码更快
	
	cin>>N;
	arr[1] = 1,arr[2] = 2,arr[3] = 5;
	for(int i = 4;i <= N;i++)
	{
		arr[i] = (2 * arr[i - 1] % MOD + arr[i - 3] % MOD) % MOD;
	}
	cout<<arr[N]<<endl;
	
	return 0;            
}
0 回复 0 转发 0 喜欢 0 阅读
回复 (0)
默认 最新
暂无回复,快来抢沙发!