关注
第三题使用DP过了
dp[i][j] 表示第 i 位以 j 结尾的方案数
cpp代码如下:
#include <bits/stdc++.h>
using namespace std;
const int MOD = 1e9 + 7;
const int MAXN = 1e5 + 50;
int dp[MAXN][9];
int main(){
for(int i = 0; i < 9; i++) dp[0][i] = 1;
for(int i = 1; i < 9; i++) dp[1][i] = 9;
dp[1][0] = 8;
for(int i = 2; i < MAXN; i++){
for(int j = 0; j < 9; j++){
int cur = j + 1;
if(cur != 1){
int num = 0;
for(int k = 0; k < 9; k++){
num = (num + dp[i - 1][k]) % MOD;
}
dp[i][j] = num;
}else{
int num = 0;
for(int k = 1; k < 9; k++){
num = (num + dp[i - 2][k]) % MOD;
}
int summ = 0;
for(int k = 1; k < 9; k++) summ = (summ + num) % MOD;
dp[i][j] = summ;
}
}
}
int summ = 0;
int n = 0;
cin >> n;
for(int k = 0; k < 9; k++){
summ = (summ + dp[n - 1][k]) % MOD;
}
cout << summ << endl;
return 0;
}
查看原帖
3 3
相关推荐
点赞 评论 收藏
分享
10-23 11:14
广州新华学院 嵌入式软件工程师 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 回顾今年你干过的最“勇”的一件事 #
1578次浏览 30人参与
# 公司福利里最没用的一项是啥 #
1319次浏览 38人参与
# 工作中出现了XX情况正常吗 #
1922次浏览 31人参与
# 一人推荐一个值得做的项目 #
1156次浏览 20人参与
# 工作前VS工作后,你的心态变化 #
1277次浏览 17人参与
# 高薪高压 vs 低薪wlb,你怎么选? #
1835次浏览 25人参与
# 毕业季,给职场新人一些建议 #
160739次浏览 2353人参与
# 你被哪些公司挂了? #
106025次浏览 651人参与
# 如何用一句话描述你的职业 #
27485次浏览 176人参与
# 牛友们的论文几号送审 #
61186次浏览 831人参与
# 如何准备秋招 #
67731次浏览 841人参与
# 机械校招之路总结 #
106384次浏览 2035人参与
# 你在职场上见过哪些“水货”同事 #
21446次浏览 150人参与
# 华勤技术工作体验 #
12152次浏览 22人参与
# 你们公司哪个部门最累? #
35355次浏览 246人参与
# 你怎么评价今年的春招? #
146703次浏览 1402人参与
# 找工作,行业重要还是岗位重要? #
83047次浏览 1665人参与
# 职场上哪些事情令人讨厌 #
31270次浏览 130人参与
# 毕业季,你想好怎么跟生活对线了吗? #
259894次浏览 3850人参与
# 运营人的第一份offer应该如何选 #
199595次浏览 1227人参与
