Cod sursa(job #1816360)

Utilizator topala.andreiTopala Andrei topala.andrei Data 26 noiembrie 2016 13:19:11
Problema Multiplu Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <iostream>
#include <fstream>
#include <queue>
using namespace std;
ifstream f("multiplu.in");
ofstream g("multiplu.out");
queue<int> q;
int c[2000005];
int cmmdc(int x,int y)
{
    int r=x%y;
    while(r)
    {
        x=y;
        y=r;
        r=x%y;
    }
    return y;
}
int main()
{
    int A,B,nr,x,x1,x2;
    f>>A>>B;
    nr=A*B/cmmdc(A,B);
    c[1]=1;
    q.push(1);
    while(1)
    {
        x=q.front();
        x=c[x];
        q.pop();
        x1=(x*10)%nr;
        x2=(x*10+1)%nr;
        if (c[x1]==0) {c[x1]=x*10;q.push(x1);}
        if (c[x2]==0) {c[x2]=x*10+1;q.push(x2);}
        if (x1==0) {g<<x*10;return 0;}
        if (x2==0) {g<<x*10+1;return 0;}
    }
}