Cod sursa(job #1435925)

Utilizator OpportunityVlad Negura Opportunity Data 14 mai 2015 19:36:58
Problema Multiplu Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <fstream>
#include <vector>
#include <queue>

using namespace std;

ifstream fi("multiplu.in");
ofstream fo("multiplu.out");

queue <long long> q;


long long a,b,xa,xb, r[2000001];

int is01(long long x) {
	while (x) {
		if (x % 10 > 1) {
			return 0;
		}
		x /= 10;
	}

	return 1;
}


int main() {
	fi >> a >> b;

	long long cmmmc = a*b;

	q.push(1);
	r[1] = 1;

	int gasit = 0;
	long long rs;

	while (!gasit) {
		long long aux = q.front();
		q.pop();

		if (!(aux % a) && !(aux % b)) {
			gasit = 1;
			rs = aux;
		}
		if (!r[(aux * 10) % cmmmc]) {
			q.push(aux*10);
		}
		if (!r[(aux * 10 + 1) % cmmmc]) {
			q.push(aux*10 + 1);
		}
	}

	fo << rs;

	return 0;
}