Cod sursa(job #766714)

Utilizator misinoonisim necula misino Data 11 iulie 2012 22:19:15
Problema Diviz Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#include<fstream>
#define MOD 30103
using namespace std;
ifstream f("diviz.in");
ofstream g("diviz.out");
int n,a1,nr,b1,m,j,nr1,a[201],b[201],v[201];
char c;
void back(int k)
{if(nr<=b1&&k<=n+1)
{
if(nr>=a1&&nr<=b1)
{int i;
int t=0;
for(i=1;i<=j;++i)
	t=(t*10+b[i])%m;
if(t==0)
	nr1=(nr1+1)%MOD;
}
for(int i=0;i<=1;++i)
{if(i)
	v[k]=i,++nr,++j,b[j]=a[k];
back(k+1);
if(i)
	v[k]=0,--nr,b[j]=0,--j;
}
}
}
int main()
{f>>m>>a1>>b1;
f.get(c);
f.get(c);
while(c!='\n')
{++n;
a[n]=c-48;
f.get(c);
}
back(1);
g<<nr1<<'\n';
return 0;
}