讨论下,是不是这样的,我最后没提交上去 #include <iostream> #include <vector> #include <string> using namespace std; int count_route(int M, bool equal) { vector<int> dp(M + 1); dp[0] = 1; int cur = 1; int f = 0; for (int i = 1; i <= M; i++) { cur *= 2; dp[i] = f; f = cur - dp[i]; } if (equal) return dp[M]; else return (cur - dp[M])/2; } int main() { int N, M, K; cin >> N >> M >> K; string str_src; string str_des; cin >> str_src; cin >> str_des; long long res = 1; for (int i = 0; i<N; i++) { char c_src = str_src[i]; char c_des = str_des[i]; int temp = count_route(M, c_src == c_des); if (temp == 0) { cout << 0 << endl; return 0; } else res *= temp; } cout << res % 1000000007 << endl; return 0; }
点赞 2

相关推荐

豆泥🍀:同26届,加油,我也还没找到查看图片
点赞 评论 收藏
分享
04-13 18:10
门头沟学院 Java
想熬夜的小飞象在秋招:被腾讯挂了后爸妈以为我失联了
点赞 评论 收藏
分享
牛客网
牛客企业服务