文章

5

粉丝

65

获赞

1

访问

3.0k

头像
01字符串 题解:(斐波那契数列换皮)
P1479 厦门大学机试题
发布于2023年7月16日 22:01
阅读数 683

本题题意看似很难摸着头脑,实则这是一道斐波那契数列题的换皮。

根据题意可以自行推算

当n=1时,组合只有0 结果是1

当n=2时,组合:00 1 结果是2

当n=3时,组合:000 10 01 结果是3

当n=4时,组合:0000 100 010 001 11 结果是5

当n=5时,组合:00000 10000 01000 …… 结果是8

因此不难发现这是一个斐波那契数列,只需要使用最简单的dp动态规划即可解决

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

#define MOD 2333333;

int main() {
	int n;
	while (cin >> n) {
		int dp[n + 1];
		dp[0] = 1, dp[1] = 1;
		for (int i = 2; i <= n; i++) {
			dp[i] = (dp[i - 1] + dp[i - 2]) % MOD;
		}
		cout << dp[n] << endl;

	}

	return 0;
}

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发