Pagini recente » Cod sursa (job #623635) | Cod sursa (job #2974575) | Cod sursa (job #2978359) | Cod sursa (job #46020) | Cod sursa (job #2714307)
#include <iostream>
#include <fstream>
#include <queue>
using namespace std;
ifstream in("multiplu.in");
ofstream out("multiplu.out");
queue <int> coada;
int pred[2000001], ultim[2000001];
int m;
void cmmmc()
{
coada.push(1);
pred[1]=-1;
ultim[1]=1;
while(!coada.empty()){
int x=coada.front();
coada.pop();
for(int i=0;i<2;i++){
int y=(x*10+i)%m;
if(pred[y]==0){
ultim[y]=i;
pred[y]=x;
if(y==0)
return;
coada.push(y);
}
}
}
}
void numar(int x)
{
if(x==-1)
return;
numar(pred[x]);
out<<ultim[x];
}
int main()
{
int a,b,copa,copb,r;
in>>a>>b;
copa=a;
copb=b;
while(copb!=0){
r=copa%copb;
copa=copb;
copb=r;
}
m=a*b/copa;
cmmmc();
numar(0);
return 0;
}