Cod sursa(job #1823547)

Utilizator AnduB08Boldisor Andu AnduB08 Data 6 decembrie 2016 16:30:02
Problema Multiplu Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.08 kb
#include <fstream>
using namespace std;
ifstream f("multiplu.in");
ofstream g("multiplu.out");
int a,b,c1,d,r,cmmmc,c[2000010],cif[2000010],sol[2000010],u,p,t[2000010],ok,x,y,i,nr,v[2000010];
int main ()
{
    f>>a>>b;
    c1=a;
    d=b;
    while(b!=0)
    {
        r=a%b;
        a=b;
        b=r;
    }
    cmmmc=(c1*d)/a;
    c[1]=1;
    cif[1]=1;
    t[1]=0;
    u=1;
    p=1;
    ok=1;
    while (p <= u)
    {
        for (x = 0; x <=1; x++)
            {
            r = (c[p] * 10 + x) % cmmmc;
            if (v[r] == 0)
            {
                v[r]=1;
                c[++u]=r;
                cif[u]=x;
                t[u]=p;
                if(c[u]==0)
            {
                sol[++nr]=cif[u];
                y=t[u];
                while(y!=0){
                    sol[++nr]=cif[y];
                    y=t[y];
                }
                for(i=nr;i>=1;i--)
                    g<<sol[i];
                g<<"\n";
                return 0;
            }
            }
            }
        p++;
    }
    return 0;
}