Pagini recente » Cod sursa (job #2420956) | Cod sursa (job #190905) | Cod sursa (job #2931304) | Cod sursa (job #2873078) | Cod sursa (job #3139781)
#include <fstream>
#include <vector>
#include <queue>
#include <algorithm>
using namespace std;
ifstream cin("multiplu.in");
ofstream cout("multiplu.out");
bool frv[2000000],frv1[2000000];
int frv2[2000000];
vector <bool> rasp;
int main()
{
int a,b,x,i;
cin>>a>>b;
x=a*b/__gcd(a,b);
queue<int> s;
s.push(1);
frv[1]=frv1[1]=1;frv2[1]=-1;
while(frv[0]==0){
a=s.front();
s.pop();
if(frv[(a*10)%x]==0){
frv[(a*10)%x]=1;frv1[(a*10)%x]=0;
s.push((a*10)%x);
frv2[(a*10)%x]=a;
}
if(frv[(a*10+1)%x]==0){
frv[(a*10+1)%x]=1;frv1[(a*10+1)%x]=1;
s.push((a*10+1)%x);
frv2[(a*10+1)%x]=a;
}
}///printf("a");
rasp.push_back(frv1[0]);
i=frv2[0];
while(i!=-1){
// printf(" [%d ",i);
rasp.push_back(frv1[i]);
i=frv2[i];
}
reverse(rasp.begin(),rasp.end());
for(i=0;i<rasp.size();i++)
cout<<rasp[i];
return 0;
}