Pagini recente » Borderou de evaluare (job #1694671) | Cod sursa (job #632874)
Cod sursa(job #632874)
#include<fstream>
using namespace std;
int cur,last,x,y,i,r,a,b,m,prev[2000001],q[2000001],ult[2000001];
ifstream fin("multiplu.in");
ofstream w("multiplu.out");
void afis(int x)
{
if(x!=1)
afis(prev[x]);
w<<ult[x];
}
int main()
{
fin>>a>>b;
m=a*b;
while(b)
{
r=a%b;
a=b;
b=r;
}
m=m/a;
cur=1;
prev[1]=ult[1]=q[++last]=1;
while(cur<=last)
{
x=q[cur++];
for(i=0 ; i<2 ; ++i)
{
y=(x*10+i)%m;
if(!prev[y])
{
ult[y]=i;
prev[y]=x;
q[++last]=y;
}
if(y==0)
{
afis(0);
return 0;
}
}
}
afis(0);
return 0;
}