Cod sursa(job #1248320)

Utilizator ovidiuz98Zamfir Ovidiu ovidiuz98 Data 24 octombrie 2014 22:09:10
Problema Multiplu Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.92 kb
#include <fstream>
#define DIM 2000001
using namespace std;
ifstream fin("multiplu.in");
ofstream fout("multiplu.out");
long a,b,i,j,r,c[DIM],t[DIM],v[DIM], U[DIM],p,u,rn,n,x,y;

void sol(int u) {
    if (u) {
        sol(t[u]);
        fout<<U[u];
    }
}

int main()
{
    fin>>a>>b;x=a;y=b;
    while(b!=0){
        r=a%b;
        a = b;
        b=r;
    }

    a=x/a*y;


  //  fout<<a;

    p = 1;
    u = 1;
    c[1] = 1;
    v[1] = 1;
    U[1] = 1;

    while (p<=u) {
        r = c[p];
        for (i=0;i<=1;i++) {
            rn = (r*10 + i) % a;
            if (v[rn] == 0) {
                c[++u] = rn;
                v[rn] = 1;
                U[u] = i;
                t[u] = p;
                if(rn == 0) {
                    sol(u);
                    return 0;
                }
            }
        }
        p++;
    }
    fin.close();fout.close();
    return 0;
}