Nu aveti permisiuni pentru a descarca fisierul grader_test10.in

Cod sursa(job #926466)

Utilizator smaraldaSmaranda Dinu smaralda Data 25 martie 2013 11:09:37
Problema Multiplu Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.16 kb
#include<stdio.h>
struct TYPE { int c,r,t; };
int A,B;
TYPE aux,q[2000010];
char res[2000010];
bool f[2000010];
int cm ()
{
    int cA,cB,cmmdc,r;
    cA=A; cB=B;
    while(B)
        {
            r=A%B;
            A=B;
            B=r;
        }
    cmmdc=A;
    A=cA; B=cB;
    return A*B/cmmdc;
}

int main()
{
    int c,u,p,CM,i,n;
    freopen("multiplu.in","r",stdin);
    freopen("multiplu.out","w",stdout);
    p=u=1;
    scanf("%d%d",&A,&B);
    CM=cm();
    aux.c=1; aux.r=(aux.c)%CM; aux.t=0;
    q[p]=aux;
    while(p<=u)
        {
            if(q[p].r==0)
                break;
            for(c=0;c<2;c++)
                {
                    aux.c=c;
                    aux.r=(q[p].r*10+c)%CM;
                    aux.t=p;
                    if(!f[aux.r])
                        {
                            f[aux.r]=1;
                            q[++u]=aux;
                        }
                }
            p++;
        }
    c=0;
    while(p)
        {
            res[++c]=q[p].c;
            p=q[p].t;
        }
    for(i=c;i>=1;i--)
        printf("%d",res[i]);
    printf("\n");
    return 0;
}