Cod sursa(job #3335133)

Utilizator ceezarGrecu Cezar Gabriel ceezar Data 21 ianuarie 2026 18:17:04
Problema Range minimum query Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.9 kb
#include <bits/stdc++.h>
#define mod  9973
using namespace std;

ifstream fin("numere.in");
ofstream fout("numere.out");

int a,b,dp[2][9002];
vector<int>db;

/**

dp[i][j] = numarul de numere de i cifre care au produsul j

*/

int main()
{
    fin>>a>>b;
    for(int i=1;i<=b;++i)
        if(b%i==0)
            db.push_back(i);
    for(int j=1;j<=9;++j)
    {
        dp[0][j]=1;
    }


    int p=1;
    for(int i=2;i<=a; ++i)
    {
        for(auto it : db)
        {
            dp[p][it]=0;
            for(int k=1;k<=9;++k)
            {
                if( it%k==0)
                {
                    dp[p][it]=(dp[p][it]+dp[1-p][it/k])%mod;
                }
            }
        }
        p=1-p;
    }
/*
    for(int i=1;i<=a;++i,fout<<'\n')
        for(int j=1;j<=b;++j)
        {
            fout<<dp[i][j]<<' ';
        }
*/
    fout<<dp[1-p][b];
}