Pagini recente » Cod sursa (job #3270487) | Cod sursa (job #2373291) | Cod sursa (job #1142400) | Cod sursa (job #2562763) | Cod sursa (job #3139558)
#include <bits/stdc++.h>
using namespace std;
const int MAXPROD = 2e6;
queue<int> q;
vector<int> visited(MAXPROD, -1);
void reconstruct(int a, int m){
if(a == 1){
cout << 1;
return;
}
reconstruct(visited[a], m);
if((visited[a] * 10) % m == a){
cout << 0;
} else {
cout << 1;
}
}
int main()
{
freopen("multiplu.in", "r", stdin);
freopen("multiplu.out", "w", stdout);
int a, b, m;
cin >> a >> b;
m = a / __gcd(a, b) * b;
q.push(1);
visited[1] = 1;
while(!q.empty() && q.front()){
int varf = q.front();
q.pop();
if(visited[(varf * 10) % m] == -1){
visited[(varf * 10) % m] = varf;
q.push((varf * 10) % m);
}
if(visited[(varf * 10 + 1) % m] == -1){
visited[(varf * 10 + 1) % m] = varf;
q.push((varf * 10 + 1) % m);
}
}
reconstruct(0, m);
return 0;
}