Cod sursa(job #1878011)

Utilizator leraValeria lera Data 13 februarie 2017 20:33:28
Problema Multiplu Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <iostream>
#include <fstream>
#include <queue>
using namespace std;
ifstream fin("multiplu.in");
ofstream fout("multiplu.out");
int c,ok;
queue<pair<int,string> >q;
pair<int,string>p;
string smin;
int cmmdc(int a,int b)
{
    int r;
    while(b)
    {
        r=a%b;
        a=b;
        b=r;
    }
    return a;
}
void rec(int r,string s)
{
    if(r==0)
    {
        ok=1;
        fout<<s;
        return;
    }
    q.push(make_pair((r*10)%c,s+'0'));
    q.push(make_pair((r*10+1)%c,s+'1'));
}
int main()
{
    int a,b;
    fin>>a>>b;
    c=(a*b)/(cmmdc(a,b));
    q.push(make_pair(1,"1"));
    while(!q.empty() && ok==0)
    {
        p=q.front();
        rec(p.first,p.second);
        q.pop();
    }
    return 0;
}