Pagini recente » Cod sursa (job #2286170) | Cod sursa (job #2265725)
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("multiplu.in");
ofstream fout ("multiplu.out");
const int NMAX= 2000002;
queue <int> q;
int A,B,nodPrec[NMAX],cur[NMAX];
int M,mod,nr;
int cmmdc (int a,int b)
{
int r;
while(b)
{
r=a%b;
a=b;
b=r;
}
return a;
}
void afisare(int i)
{
if(i!=1)
afisare(nodPrec[i]);
fout<<cur[i];
}
void solve ()
{
while(1)
{
nr=q.front();
q.pop();
for(int i=0; i<2; i++)
{
mod=(nr*10+i)%M;
if(!nodPrec[mod])
{
nodPrec[mod]=nr;
cur[mod]=i;
q.push(mod);
}
if(mod==0) return;
}
}
}
int main()
{
fin>>A>>B;
M=(A*B)/cmmdc(A,B);
nodPrec[1]=cur[1]=1;
q.push(1);
if(A*B==1)
fout<<1;
else
{
solve();
afisare(0);
}
return 0;
}