Pagini recente » Cod sursa (job #837418) | Cod sursa (job #1663174) | Cod sursa (job #1034195) | Cod sursa (job #1057489) | Cod sursa (job #2783952)
#include <fstream>
using namespace std;
ifstream fin("multiplu.in");
ofstream fout("multiplu.out");
int a, b, p, u, nr1, nr2, q[2000005], t[2000005], viz[2000005], aux[2000005];
bool v[2000005];
int cmmdc(int x, int y)
{
while(y!=0)
{
int r=x%y;
x=y;
y=r;
}
return x;
}
void reconst(int p)
{
int k=0;
while(p>0)
{
aux[++k]=v[p];
p=t[p];
}
for(int i=k;i>=1;i--)
{
fout<<aux[i];
}
}
int main()
{
int a, b, a1, b1, x;
fin>>a>>b;
x=a/cmmdc(a, b)*b;
p=u=1;
viz[1]=1;
q[p]=1;
v[p]=1;
t[p]=0;
while(p<=u)
{
nr1=q[p];
for(int i=0;i<=1;i++)
{
nr2=(nr1*10+i)%x;
if(viz[nr2]==0)
{
viz[nr2]=1;
q[++u]=nr2;
t[u]=p;
v[u]=i;
if(nr2==0)
{
reconst(u);
return 0;
}
}
}
p++;
}
return 0;
}