Cod sursa(job #3266088)

Utilizator nistor_dora_valentinaNistor Dora Valentina nistor_dora_valentina Data 5 ianuarie 2025 17:17:07
Problema Diviz Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <fstream>
#include <cstring>

using namespace std;
ifstream fin("diviz.in");
ofstream fout("diviz.out");
int k, a, b, i, dp[205][11][105], ans, n;
char s[205];
int main()
{
    fin>>k>>a>>b>>s;
    n=strlen(s);
    for(i=0; i<n; i++)
       if(dp[1][s[i]-'0'][(s[i]-'0')%k]==0)
        dp[1][s[i]-'0'][(s[i]-'0')%k]++;

    for(i=2; i<=b; i++)
    {
        for(int r=0; r<k; r++)
            if(dp[i][s[i-1]-'0'][((r*10+(s[i-1]-'0'))%k)]==0)
              for(int cif=0; cif<=9; cif++)
               dp[i][s[i-1]-'0'][(r*10+(s[i-1]-'0'))%k]+=dp[i-1][cif][r];
    }
    for(i=a; i<=b; i++)
      for(int cif=0; cif<=9; cif++)
        ans+=dp[i][cif][0];
    fout<<ans;
    return 0;
}