Cod sursa(job #741257)

Utilizator gramatovici_paulGramatovici Paul gramatovici_paul Data 25 aprilie 2012 19:38:31
Problema Diviz Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <iostream>
#include <fstream>
#include <cstring>

using namespace std;

ifstream in("diviz.in");
ofstream out("diviz.out");

int n,k,x[222][222];
char s[1000];


int rest(int p,int cif)
{
    int rez=(s[p]-48)%k;
    for(int i=1;i<=cif;++i)
    {
        rez=(rez*10)%k;
    }
    return rez;
}

int main()
{
    int a,b,i,j,ii,r,rez;
    in>>k>>a>>b;
    in.getline(s,222);
    in.getline(s,222);
    x[0][0]=1;
    for(i=strlen(s)-1;i>=0;--i)
    {
        for(j=b;j>=0;--j)
        {
            r=rest(i,j);
            for(ii=0;ii<k;++ii)
            {
                x[j+1][(ii+r)%k]=(x[j+1][(ii+r)%k]+x[j][ii])%30103;
            }
        }
    }
    rez=0;
    for(i=a;i<=b;++i)
    {
        rez=(rez+x[i][0])%30103;
    }
    out<<rez;
    return 0;
}