Pagini recente » Cod sursa (job #1432694) | Cod sursa (job #155661) | Cod sursa (job #609639) | Cod sursa (job #2140375) | Cod sursa (job #2329820)
#include <fstream>
using namespace std;
ifstream f("multiplu.in");
ofstream g("multiplu.out");
int i,sol[200001],v[20001],r,q[200001],a,b,viz[20001],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;
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;
}