Cod sursa(job #2627684)

Utilizator mariamirabella2Bucur-Sabau Maria-Mirabela mariamirabella2 Data 11 iunie 2020 19:00:46
Problema Multiplu Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.94 kb
#include <fstream>
#include <algorithm>
#include <queue>

using namespace std;

ifstream cin("multiplu.in");
ofstream cout("multiplu.out");

long long a,b,m,t,viz[2000001],ans;
queue <long long> q;

int main()
{
    cin>>a>>b;
    m=a*b/__gcd(a,b);
    if(m==0){
        cout<<0;
        return 0;
    }
    if(m==1){
        cout<<1;
        return 0;
    }
    else{
        viz[1%m]=1;
    }
    q.push(1);
    while(!q.empty()){
        t=q.front();
        q.pop();
        if(viz[(t*10)%m]==0){
            viz[(t*10)%m]=1;
            if((t*10)%m==0){
                ans=t*10;
                break;

            }
            else{
                q.push(t*10);
            }
        }
        if(viz[(t*10+1)%m]==0){
            viz[(t*10+1)%m]=1;
            if((t*10+1)%m==0){
                ans=t*10+1;
                break;
            }
            else{
                q.push(t*10+1);
            }
        }
    }
    cout<<ans;
    return 0;
}