Cod sursa(job #947059)

Utilizator enedumitruene dumitru enedumitru Data 6 mai 2013 17:03:41
Problema Multiplu Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <fstream>
using namespace std;
ifstream f("multiplu.in"); ofstream g("multiplu.out");
const int DIM=2000010;
int p=1,u=1,a,b,i,m;
int q[DIM],v[DIM],nr[DIM],t[DIM];
inline int cmmdc(int a,int b)
{   int r;
    while(b) {r=a%b; a=b; b=r;}
    return a;
}
void afis(int i)
{	if(i) afis (t[i]), g<<nr[i];}
int main ()
{   f>>a>>b;
    m=a/cmmdc(a,b)*b;
	q[1]=nr[1]=v[1]=1;
    while(1)
    {   int num=q[p];
        for(i=0; i<=1; ++i)
        {   int val=(num*10+i)%m;
            if(!v[val])
            {   v[val]=1;
                ++u;
                q[u]=val; nr[u]=i; t[u]=p;
            }
            if(!val)
				{afis(u); g.close (); return 0;}
        }
        ++p;
    }
}