Cod sursa(job #2551560)

Utilizator mihaistamatescuMihai Stamatescu mihaistamatescu Data 19 februarie 2020 22:20:44
Problema Multiplu Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.87 kb
#include <fstream>
using namespace std;
ifstream fin ("multiplu.in");
ofstream fout("multiplu.out");
int a,b,x,y,r,m,p,u,k,ok,crt,c[2000010],U[2000010],v[2000010],t[2000010];
void tata(int u){
    if (u!=0) {
        tata(t[u]);
        fout<<U[u];
    }
}
int main () {
    fin>>a>>b;
    x=a;
    y=b;
    while (y!=0){
        r=x%y;
        x=y;
        y=r;
    }
    m=a/x*b;
    c[1]=1;
    p=1;
    u=1;
    v[1]=1;
    U[1]=1;
    while (p<=u&&ok==0){
        for (k=0;k<=1;k++) {
            crt=(c[p]*10+k)%m;
            if (v[crt]==0){
                u++;
                c[u]=crt;
                v[crt]=1;
                U[u]=k;
                t[u]=p;
                if (crt==0){
                    ok=1;
                    break;
                }
            }
        }
        p++;
    }
    tata(u);
    return 0;
}