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

#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 上海

相关推荐

ResourceUtilization:四六级不愧是大学最有用的证之一
点赞 评论 收藏
分享
04-11 15:34
已编辑
华中科技大学 网络安全
疯犬丨哈士奇:意思就是:我们还有其他更优秀的人在等回复,如果他们不要这个机会就会来找你
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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