Pagini recente » Cod sursa (job #273352) | Cod sursa (job #430635) | Cod sursa (job #1781150) | Cod sursa (job #2004588) | Cod sursa (job #2940966)
#include <fstream>
#include <queue>
using namespace std;
ifstream fin("multiplu.in");
ofstream fout("multiplu.out");
#define Nmax 2000000
int p;
int previ[Nmax + 1];
queue<int> q;
void reconst(int x)
{
if(previ[x] == -1)
{
fout << 1;
return;
}
reconst(previ[x]);
if(((previ[x]) * 10) % p == x)
{
fout << 0;
}
else
{
fout << 1;
}
}
int main()
{
int a, b, r, r1, r2, aa, bb;
fin >> a >> b;
aa = a;
bb = b;
while(bb != 0)
{
r = aa % bb;
aa = bb;
bb = r;
}
p = a * b / aa;
r = 1;
q.push(1);
previ[1] = -1;
while(!q.empty())
{
r = q.front();
q.pop();
r1 = (r * 10) % p;
r2 = (r * 10 + 1) % p;
if(previ[r1] == 0)
{
previ[r1] = r;
q.push(r1);
}
if(previ[r2] == 0)
{
previ[r2] = r;
q.push(r2);
}
}
reconst(0);
return 0;
}