Cod sursa(job #2401531)

Utilizator qThunderStefan 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;
}