根据以上操作,求最终剩下的数为【0,9】的方案数
emmm 我们定义dp[i][0–9] 设dp[i][now]表示第i次操作,操作完后队头元素为now的方案数,那么我们枚举上一个位置的所有可能情况[0,9],得到:dp[i][now]=dp[i][now]+dp[i−1][j]
int n;
ll a[N];
ll dp[N][10];
int main() {
scanf("%d",&n);
for(int i=1;i<=n;++i){
scanf("%lld",&a[i]);
}
dp[1][a[1]]=1;
for(int i=2;i<=n;++i){
for(int j=0;j<10;++j){
dp[i][(a[i]+j)%10]=(dp[i][(a[i]+j)%10]+dp[i-1][j])%mod;
dp[i][(a[i]*j)%10]=(dp[i][(a[i]*j)%10]+dp[i-1][j])%mod;
}
}
for(int i=0;i<10;++i){
printf("%lld\n",dp[n][i]);
}
return 0;
}