求助,0分,Subtask#0全WA
查看原帖
求助,0分,Subtask#0全WA
378467
Windy_YY楼主2023/2/8 17:27

rt。但是弱化版全过。

#include<bits/stdc++.h>
#define int long long
using namespace std;
const int mod=1e9+7;
int ksm(int a,int b,int c){
  if(!b)return 1;
  int ans=ksm(a,b>>1,c);
  ans=ans*ans%c;
  if(b&1)ans=ans*a%c;
  return ans;
}
int f[5555][1555];
int sum[5555];
signed main(){
  int n,k;
  cin>>n>>k;
  for(int i=1;i<=9;i++)f[1][i%k]++,sum[i%k]++;
  for(int i=2;i<=n;i++){
    int pk=ksm(10,i-1,mod);
    for(int j=1;j<=9;j++){
      int gk=j*pk%k;
      f[i][gk]++;
      for(int _=0;_<k;_++)
        (f[i][(gk+_)%k]+=sum[_])%=mod;
    }
    for(int j=0;j<k;j++)
      (sum[j]+=f[i][j])%=mod;
  }
  for(int i=0;i<k;i++)cout<<f[n][i]<<' ';
  cout<<'\n';
  return 0;
}
2023/2/8 17:27
加载中...