Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- #pragma GCC target ("avx2")
- #pragma GCC optimization ("O3")
- #pragma GCC optimization ("unroll-loops")
- #define ll long long
- #define MOD 1000000007;
- #define got cout<<"YES\n"; return;
- #define got0 cout<<"YES\n"; return 0;
- #define bhak cout<<"NO\n"; return;
- #define bhak0 cout<<"NO\n"; return 0;
- #define bas cout<<"\n";
- void solve();
- // https://codeforces.com/problemset/problem/1513/C
- vector<vector<ll>> dp(10, vector<ll> (200005+1, 1));
- void setSieve(){
- for(ll j=1; j<=200000; ++j){
- for(ll i=0; i<10; ++i){
- if(i<9){
- dp[i][j] = dp[i+1][j-1];
- }
- else{
- dp[i][j] = dp[0][j-1]%MOD + dp[1][j-1]%MOD;
- dp[i][j]%=MOD;
- }
- }
- }
- }
- int main() {
- ios_base::sync_with_stdio(false);
- cin.tie(NULL);
- cout.tie(NULL);
- ll t;
- t=1;
- cin>>t;
- setSieve();
- while(t--){
- solve();
- }
- return 0;
- }
- void solve(){
- ll n, m; cin>>n>>m;
- ll ans = 0;
- while(n){
- ll dig = n%10;
- ans += dp[dig][m]%MOD;
- ans %= MOD;
- n/=10;
- }
- cout<<ans<<endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment