Pagini recente » Cod sursa (job #2361633) | Cod sursa (job #2058664) | Istoria paginii runda/oji_2019_10/clasament | Cod sursa (job #1458744) | Cod sursa (job #392169)
Cod sursa(job #392169)
#include<cstdio>
#define N 20000001
#include<bitset>
using namespace std;
#include<queue>
bitset<N>viz(false);
int a,b,c,num;
int cmmdc(int a, int b)
{
if (!b)
return a;
return cmmdc(b,a%b);
}
queue<int>q;
void bf()
{
q.push(1);
int p=0,u=1,x,y;
while (p!=u)
{
x=q.front();
++p;
q.pop();
y=x*10%c;
++num;
if (!y)
return;
q.push(y),viz[y]=1,++u;
y=(x*10+1)%c;
++num;
if (!y)
return;
q.push(y),viz[y]=1,++u;
}
}
void afis(int num)
{
if (!num)
return;
if (num&1)
{
afis(num>>1);
printf("0");
}
else
{
afis((num-1)>>1);
printf("1");
}
}
int main()
{
freopen("multiplu.in","r",stdin);
freopen("multiplu.out","w",stdout);
scanf("%d%d",&a,&b);
int p=a*b;
c=p/cmmdc(a,b);
bf();
printf("1");
afis(num);
return 0;
}