Pagini recente » Cod sursa (job #506618) | Istoria paginii autumn-warmup-2007/solutii/runda-1 | Cod sursa (job #978059) | Monitorul de evaluare | Cod sursa (job #2269846)
#include <bits/stdc++.h>
using namespace std;
int n, m;
queue < int > Q;
string M[2000100];
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
ifstream cin("multiplu.in");
ofstream cout("multiplu.out");
cin >> n >> m;
int nr = (n * m) / __gcd(n, m);
if (nr == 1) return cout << 1, 0;
Q.push(1);
M[1] = "1";
while (Q.size()){
int node = Q.front(); Q.pop();
if (node == 0) return cout << M[node], 0;
for (int i = 0; i < 2; i++){
int next = node * 10 + i;
int modd = next % nr;
if (M[modd].size()) continue;
Q.push(modd);
M[modd] = M[node];
M[modd] += (i + '0');
}
}
return 0;
}