Cod sursa(job #2308552)

Utilizator BotzkiBotzki Botzki Data 27 decembrie 2018 12:47:25
Problema Multiplu Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <fstream>
#include <cstdlib>
#include <queue>
#include <string>
using namespace std;
ifstream fin("multiplu.in");
ofstream fout("multiplu.out");
queue <string>q;
string s;
int cmmdc(int a, int b)
{
    int r;
    while(b)
    {
        r=a%b;
        a=b;
        b=r;
    }
    return a;
}
int BFS(int x)
{
    bool ok=0;
    long long nr;
    int i;
    q.push(string(1, '1'));
    while(ok==0)
    {
       s=q.front();
       q.pop();
       nr=0;
       for(i=0;i<s.size();i++)
           nr=nr*10+(s[i]-'0');
       if(nr%x==0)
       {
           fout<<nr<<"\n";
           ok=1;
       }
       else
       {
           q.push(s+'0');
           q.push(s+'1');
       }
    }
}
int main()
{
    int a, b, cm;
    fin>>a>>b;
    //cm-cmmmc
    cm=(a*b)/cmmdc(a, b);
    BFS(cm);
    return 0;
}