Cod sursa(job #2617570)

Utilizator Fish098Stineru Daniel Fish098 Data 22 mai 2020 11:38:31
Problema Multiplu Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.74 kb
#include<fstream>
using namespace std;
ifstream f("multiplu.in");
ofstream g("multiplu.out");
int i,sol[2000001],v[2000001],r,q[2000001],a,b,viz[2000001],n,t[2000001];
int coada()
{int p,u;p=u=0;
while(viz[0]==0)
    {int x=q[p];
    if(viz[x*10%n]==0)
        {q[++u]=x*10%n;
         v[u]=0;
         t[u]=p;
         viz[x*10%n]=1;}
if(viz[0]==1)
    return u;
if(viz[(x*10+1)%n]==0)
    {q[++u]=(x*10+1)%n;
    v[u]=1;
    t[u]=p;
    viz[(x*10+1)%n]=1;}
if(viz[0]==1)
    return u;
    p++;}}
int main()
{f>>a>>b;
int p=a*b;
while(b!=0)
    {r=a%b;a=b;b=r;}
n=p/a;
q[0]=1;
viz[1]=1;
int m=coada();
int k=0;
sol[++k]=v[m];
while(t[m]!=0)
    {m=t[m];sol[++k]=v[m];}
g<<1;
for(i=k;i>=1;i--)
g<<sol[i];
return 0;}