Cod sursa(job #3121997)

Utilizator Traian_7109Traian Mihai Danciu Traian_7109 Data 16 aprilie 2023 17:37:46
Problema Multiplu Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <iostream>
#include <fstream>
#include <queue>

using namespace std;

ifstream fin("multiplu.in");
ofstream fout("multiplu.out");

queue<long long> q;
bool ok[2000005];

int main()
{
    int a, b, ca, cb, m;
    fin>>a>>b;
    ca = a, cb = b;

    while (b) {
        int r = a%b;
        a = b, b = r;
    }

    m = ca/a*1l*cb;
    q.push(1);
    ok[1] = true;

    while (q.front()%m) {
        long long x = q.front();
        q.pop();

        if (!ok[(x*10)%m]) q.push(x*10), ok[(x*10)%m] = true;
        if (!ok[(x*10+1)%m]) q.push(x*10+1), ok[(x*10+1)%m] = true;
    }

    fout<<q.front();
    return 0;
}