Pagini recente » Cod sursa (job #2138646) | Cod sursa (job #2393400) | Cod sursa (job #2635466) | Cod sursa (job #2250810) | Cod sursa (job #2330163)
#include <fstream>
using namespace std;
ifstream f("multiplu.in");
ofstream g("multiplu.out");
int i,sol[2000001],v[2000001],r,q[2000001],a,b,viz[2000001],n,t[2000001];
int coada(){
int p,u;
p=u=0;
while(viz[0]==0){
int x=q[p];
if(viz[x*10%n]==0){
q[++u]=x*10%n;
v[u]=0;
t[u]=p;
viz[x*10%n]=1;
}
if(viz[0]==1)
return u;
if(viz[(x*10+1)%n]==0){
q[++u]=(x*10+1)%n;
v[u]=1;
t[u]=p;
viz[(x*10+1)%n]=1;
}
if(viz[0]==1)
return u;
p++;
}
}
int main()
{ f>>a>>b;
int p=a*b;
while(b!=0){
r=a%b;
a=b;
b=r;
}
n=p/a;
q[0]=1;
viz[1]=1;
int m=coada();
int k=0;
sol[++k]=v[m];
while(t[m]!=0){
m=t[m];
sol[++k]=v[m];
}
g<<1;
for(i=k;i>=1;i--)
g<<sol[i];
return 0;
}