Cod sursa(job #2400262)

Utilizator mihnea.anghelMihnea Anghel mihnea.anghel Data 8 aprilie 2019 16:11:29
Problema Multiplu Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <fstream>
#define DIM 2000009
using namespace std;
ifstream f("multiplu.in");
ofstream g("multiplu.out");
int p,u,ucif,nw,a, b, multiplu,i;
int v[DIM], t[DIM], r[DIM], pus[DIM];

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

void afis(int poz){
	if(t[poz]!=0)
		afis(t[poz]);
	g<<pus[poz];
	return;
}

int main()
{
	f>>a>>b;
	multiplu = a/cmmdc (a,b)*b;v[1]=1;p=1; u=1;r[1]=1;t[1]=0;pus[1]=1;
	while(p<=u){
		for(ucif=0; ucif<=1; ucif++){
			nw=v[p]*10+ucif; nw%=multiplu;
			if(r[nw]==0) v[++u]=nw, t[u]=p, r[nw]++, pus[u]=ucif;
			if(nw==0){ p=u+1; break; }
		}
		p++;
	}
	afis(u);
	return 0;
}