第四题为什么这样过不了,有没有好兄弟解答一下呀

#include<iostream>
#include<unordered_map>
#include<vector>
#include<cstring>
using namespace std;
int main(){
    long long d[9];
    memset(d,0,sizeof d);
    string str;
    cin>>str;
    int mod=1e9+7;
    for(int i=0;i<str.size();i++){
        int t = str[i]-'0';
        long long tmp[9];
        memset(tmp,0,sizeof tmp);
        for(int j=0;j<9;j++){
            tmp[j] = (d[(j-t+9)%9]+d[j])%mod;
        }
        for(int j=0;j<9;j++){
            d[j]=tmp[j];
        }
        d[t] = (d[t]+1)%mod;   
    }
    cout<<d[0];
}

我初始化d[0]=1,最后再减去1才能过,而我上面的思路是分为两部分,考虑和前面数结合或者只有自身一个数

全部评论
最后的***括取长度为0的序列的情况,需要减去1。我不知道你问的是不是这个。
点赞 回复 分享
发布于 2023-07-03 11:02 山东
 t = (str[i]-'0&(30533)#39;)%9
点赞 回复 分享
发布于 2023-07-02 21:42 上海

相关推荐

没关系现在见到了、
真的很糟糕:见过国王的offer吗
点赞 评论 收藏
分享
我的代码出BUG了:"自我学习"用词完美避开劳动新规,果然道高一尺魔高一尺
点赞 评论 收藏
分享
点赞 评论 收藏
分享
码农顶针:估计让你免费辅导老板孩子的学习
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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