Cod sursa(job #1796528)

Utilizator razvandraghiciDraghici Razvan razvandraghici Data 3 noiembrie 2016 16:11:34
Problema Multiplu Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.92 kb
#include <fstream>

using namespace std;
int a, b, m, i, p, u, c[2000003], r, t[2000003], v[2000003], s[2000003], l[2000003], k, j;
int main()
{
    ifstream fin ("multiplu.in");
    ofstream fout("multiplu.out");
    fin>>a>>b;
    m=a*b;
    while(b!=0){
        r=a%b;
        a=b;
        b=r;
    }
    m /= a;
    p=1;
    u=1;
    c[p]=1;
    l[1]=0;
    t[1]=1;
    while(p<=u){
        for(i=0;i<=1;i++){
            if(v[c[p]*10+i]==0){
                v[c[p]*10+i]=1;
                c[++u]=(c[p]*10+i)%m;
                l[u]=p;
                t[u]=i;
                if(c[u]==0){
                    while(u>0){
                        s[++k]=t[u];
                        u=l[u];
                    }
                    for(j=k;j>=1;j--)
                        fout<<s[j];
                    return 0;
                }
            }
        }
        p++;
    }
    return 0;
}