Pagini recente » Cod sursa (job #1214523) | Cod sursa (job #1904002) | Cod sursa (job #1531500) | Cod sursa (job #541093) | Cod sursa (job #2711839)
#include <bits/stdc++.h>
using namespace std;
ifstream f("multiplu.in");
ofstream g("multiplu.out");
const int N=2e6+10;
struct data{
long long val;
long long nr;
};
bitset <N> frecv;
void afisare(long long nr)
{
stack <int> s;
while(nr)
{
s.push(nr%2);
nr=nr/2;
}
while(!s.empty())
{
g<<s.top();
s.pop();
}
}
int main()
{
long long x,y;
f>>x>>y;
x=(x*y)/__gcd(x,y);
queue <data> q;
data aux;
aux.nr=1;
aux.val=1;
q.push(aux);
while(!q.empty())
{
data t=q.front();
q.pop();
if(t.val==0)
{
afisare(t.nr);
return 0;
}
if(!frecv[t.val])
{
frecv[t.val]=1;
data aux;
aux.val=(t.val*10)%x;
aux.nr=t.nr*2;
q.push(aux);
aux.val=(t.val*10+1)%x;
aux.nr=t.nr*2+1;
q.push(aux);
}
}
return 0;
}