这道题目考查了一些知识:
1.原根:在这道题当中我们知道有一个这样的数,他的对应的数字根让人十分不解,但是这其实是一个数论的知识,我们经过具体分析发现他们的数字根其实就是用数本身mod 9;
2.动规(dp):而dp最重要的是啥---状态转移方程,而这道题目动态转移方程有点难,
这个方程式确实很难推
void solve()
{
ios;
int n;
cin>>n;
dp[0][0]=1;
for(int i=1;i<=n;i++)
{
cin>>a[i];
a[i]%=9;
}
for(int i=1;i<=n;i++)
{
for(int j=0;j<9;j++)
{
dp[i][(j+a[i])%9]=(dp[i][(j+a[i])%9]+dp[i-1][j])%mod;
dp[i][j]=(dp[i][j]+dp[i-1][j])%mod;
}
}
for(int i=1;i<9;i++)
{
cout<<dp[n][i]<<" ";
}
cout<<dp[n][0]-1;
}