第四题为什么这样过不了,有没有好兄弟解答一下呀
#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才能过,而我上面的思路是分为两部分,考虑和前面数结合或者只有自身一个数