Cod sursa(job #643259)

Utilizator DaniLLeu Daniel DaniL Data 3 decembrie 2011 12:18:05
Problema Multiplu Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb

#include<fstream>
using namespace std;
ifstream f("multiplu.in");
ofstream g("multiplu.out");
int S[1000],l, a,ok,b,m,p,u,i,v[2000001],c[2000001],t[2000001], s[2000001],x,y,z,k;
int main(){
	f>>a>>b;
	x=a;
	y=b;

while(y){
	l=x%y;
	x=y;
	y=l;
}
	
	m=(a*b)/x;
	p=1;
	u=1;
	c[1]=1;
	v[1]=1;
	s[1] = 1;
	while((p<=u)&&!ok){
		for(i=0;i<=1;i++){
			z=(c[p]*10+i)%m;
			if(v[z]==0){
				c[++u]=z;
				v[z]=1;
				t[u] = p;
				s[u] = i;
				if(z==0){
					ok=1;
					break;
				}
				
			}
		}
		p++;
	}
//	for(i=1;i<=u;i++)
//		cout<<c[i]<<" ";
//	cout<<"\n ";	
	while (u!=0) {
		S[++k] = s[u];
		u = t[u];
	}
	

	
	for(i=k;i>=1;i--)
		g<<S[i];
	//cout<<"\n ";
	
	return 0;
}