Pagini recente » Cod sursa (job #1494422) | Cod sursa (job #2531505) | Cod sursa (job #1541529) | Cod sursa (job #1647182) | Cod sursa (job #320687)
Cod sursa(job #320687)
#include<cstdio>
#include<queue>
#define N 2000001
using namespace std;
int a,b;
struct grf{
int pred,val;
};
bool k[N];
grf v[N];
queue <int> q;
int cmmdc( int a , int b )
{
if(a%b==0)
return b;
return cmmdc(b,a%b);
}
int main()
{
int x;
freopen("multiplu.in","r",stdin);
freopen("multiplu.out","w",stdout);
scanf("%d",&a,&b);
a=a*b / cmmdc(a,b);
k[1]=true;
v[1].val=1;
v[1].pred=0;
q.push(1);
while(!q.empty())
{
x=(q.front()*10)%a;
if(k[x]==0)
{
v[x].val=0;
v[x].pred=q.front();
q.push(x);
k[x]=1;
}
x=(q.front()*10+1)%a;
if(k[x]==0)
{
k[x]=1;
v[x].val=1;
v[x].pred=q.front();
q.push(x);
}
q.pop();
}
x=0;
while ( v[x].pred!=0 )
{
printf("%d",v[x].val);
x=v[x].pred;
}
printf("1\n");
return 0;
}