Cod sursa(job #868732)

Utilizator alexalghisiAlghisi Alessandro Paolo alexalghisi Data 31 ianuarie 2013 15:58:11
Problema Multiplu Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <iostream>
#include <fstream>
#include <queue>
#include <string>
#define mp make_pair
using namespace std;

queue<pair<int,string> > q;

int cmmdc(int a,int b)
{
    int c;
    while(b)
    {
        c=a%b;
        a=b;
        b=c;
    }
    return a;
}

int main()
{
    int a,b,cmmmc;
    ifstream f("multiplu.in");
    ofstream g("multiplu.out");
    f>>a>>b;

    cmmmc=a*b/cmmdc(a,b);

    q.push(mp(1,"1"));
    while(q.size())
    {
        int val=q.front().first;
        string x=q.front().second;

        if(val==0)
        {
            cout<<x;
            return 0;
        }
        q.pop();

        q.push(mp( (val*10+1)%cmmmc, x+"1"));
        q.push(mp( (val*10)%cmmmc,x+"0"));

    }
    g<<x;

    return 0;
}