#include<stdio.h>
#include<stdlib.h>
#define LL unsigned long long int
#define min(a,b) (((a)>(b)) ? (b):(a))
int dcret(LL I,bool aa[40])
{
int lx;
for(lx=0;I;I>>=1,lx++)
aa[lx]=I&1;
return lx;
}
int main()
{
LL a,b;
while(scanf("%I64u %I64u",&a,&b)==2)
{
bool aa[40],bb[40];
int alen,blen,cc;
int lx;
alen=dcret(a,aa);
blen=dcret(b,bb);
cc=min(alen,blen);
for(lx=0;lx<cc;lx++)
if(aa[alen-lx-1]^bb[blen-lx-1])break;
printf("%d\n",alen+blen-2*lx);
}
return 0;
}
2013年11月27日 星期三
TIOJ 1011 Edit Distance In Numbers
[IMPLEMENT]
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言