Cod sursa(job #2401531)
Utilizator | Stefan Durlanescu qThunder | Data | 9 aprilie 2019 19:40:00 |
---|---|---|---|
Problema | Multiplu | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.9 kb |
#include <fstream>
using namespace std;
ifstream fin("multiplu.in");
ofstream fout("multiplu.out");
int a,b,v[2000005],rec[2000005],c,p,u,k,nr,que[2000005],t[2000005];
int cmmmc(int x,int y)
{
int r;
while(y!=0)
{
r=x%y;
x=y;
y=r;
}
return a/x*b;
}
void afisare(int i)
{
if(i!=0)
{
afisare(t[i]);
fout<<rec[i];
}
}
int main()
{
fin>>a>>b;
c=cmmmc(a,b);
v[1]=1;
que[1]=1;
p=u=1;
rec[1]=1;
while(p<=u)
{
for(int i=0;i<2;i++)
{
nr=(que[p]*10+i)%c;
if(v[nr]==0){
rec[++u]=i;
v[nr]=1;
t[u]=p;
que[u]=nr;
}
if(nr==0)
{
afisare(u);
return 0;
}
}
p++;
}
return 0;
}