Cod sursa(job #2264608)
Utilizator | Data | 20 octombrie 2018 10:46:01 | |
---|---|---|---|
Problema | Multiplu | Scor | 10 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.6 kb |
#include <bits/stdc++.h>
#define pb push_back
using namespace std;
ifstream fin("multiplu.in");
ofstream fout("multiplu.out");
struct elm{
string s;
int r;
};
queue<elm>Q;
int lcm,a,b;
int main()
{
fin>>a>>b;
lcm = a*b/__gcd(a,b);
Q.push({"1",1});
while(!Q.empty()){
elm curr = Q.front();
if(!curr.r){
fout<<curr.s;
return 0;
}
Q.pop();
int R0 = (curr.r*10)%lcm;
int R1 = (curr.r*10+1)%lcm;
Q.push({curr.s+'0',R0});
Q.push({curr.s+'1',R1});
}
return 0;
}