Cod sursa(job #2400525)

Utilizator divianegoescuDivia Negoescu divianegoescu Data 8 aprilie 2019 20:31:21
Problema Multiplu Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <fstream>
#define K 2000002
using namespace std;
ifstream fin("multiplu.in");
ofstream fout("multiplu.out");
int n,i,p,u,m,a,b,r;
int f[K],v[K],t[K],c[K];
int cmmdc(int a,int b){
    if(b==0)return a;
    return cmmdc(b,a%b);
}
void af(int u){
    if(u!=0){
        af(t[u]);
        fout<<c[u];
    }
}
int main(){
    fin>>a>>b;
    m=a*b/cmmdc(a,b);
    v[1]=c[1]=f[1]=1;
    for(p=u=1;p<=u;p++){
        r=(v[p]*10)%m;
        if(f[r]==0){
            f[r]=1;
            v[++u]=r;
            t[u]=p;
            c[u]=0;
        }
        if(r==0)break;
        r=(v[p]*10+1)%m;
        if(f[r]==0){
            f[r]=1;
            v[++u]=r;
            t[u]=p;
            c[u]=1;
        }
        if(r==0)break;
    }
    af(u);
    return 0;
}