题解 | #舔狗舔到一无所有#

舔狗舔到最后一无所有

https://ac.nowcoder.com/acm/problem/20875

简单dp问题,dp[i]代表前i天有多少种方案,分两种情况:

1、第i天的饭菜与第i-2天的饭菜不同,那么前i天有dp[i-2]*2种方案

2、第i天的饭菜与第i-1天的饭菜不同,那么前i天有dp[i-1]*2种方案

因此前i天共计dp[i-1]*2+dp[i-2]*2,在这中包含都不同的情况

#include <bits/stdc++.h>
#define size 100100
const int MOD=1e9+7;
using namespace std;
long long dp[size],n,m;
int main(){
    dp[1]=3,dp[2]=9;
    for (int i=3;i<size;i++){
        dp[i]=(dp[i-1]*2%MOD+dp[i-2]*2%MOD)%MOD;
    }
    scanf("%lld",&m);
    while (m--){
        scanf("%lld",&n);
        printf("%lld\n",dp[n]);
    }
    system("pause");
    return 0;
}
全部评论

相关推荐

2025-11-27 01:09
电子科技大学 C++
牛客68151836...:实习不相关就靠后写吧,因为大概面试官也不感兴趣。前面区域写一点更容易引起提问的内容,比如投后台就把服务器项目提前。
简历上的经历如何包装
点赞 评论 收藏
分享
评论
4
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务