Cod sursa(job #3368430)

Utilizator User-77-Stancu Andreas User-77- Data 14 octombrie 2026 14:26:46
Problema Multiplu Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.95 kb
#include <fstream>
#define MAX 2000001
using namespace std;
ifstream cin("multiplu.in");
ofstream cout("multiplu.out");
long long int a,b,re,x,p,u;
int v[MAX],r[MAX],t[MAX],x1[MAX],f[MAX];
int main()
{
    cin>>a>>b;
    x=a*b;
    while(b!=0)
    {
        re=a%b;
        a=b;
        b=re;
    }
    x=x/a;
    v[1]=1;
    r[1]=1%x;
    u=1;
    while(1==1)
    {
        p++;
        if(r[p]==0)
        {
            break;
        }
        if(f[(1ll*r[p]*10)%x]==0)
        {
            v[++u]=0;
            r[u]=(1ll*r[p]*10)%x;
            t[u]=p;
            f[r[u]]=1;
        }
        if(f[(1ll*r[p]*10+1)%x]==0)
        {
            v[++u]=1;
            r[u]=(1ll*r[p]*10+1)%x;
            t[u]=p;
            f[r[u]]=1;
        }


    }
    int nr=0;
    while(p!=0)
    {
        x1[++nr]=v[p];
        p=t[p];
    }
    for(int i=nr;i>0;i--)
    {
        cout<<x1[i];
    }
    return 0;
}