|
|
back to boardBrute-force - 0.046 AC! Posted by Cat36 7 Nov 2008 12:16 int dist(unsigned int i, unsigned int j){ int k =0; if(i==j) return 0; if(i%2){ ++k; if(i%4==1) ++i ;else --i; }; if(j%2){ ++k; if(j%4==1) ++j ;else --j; }; return k + dist(i/2,j/2); }; __int64 from1(unsigned int l){ int j =l/1000000; __int64 sum = save[j]; unsigned int start = (j==0)?1:1000000*j; for(unsigned int i = start; i<l; ++i) sum+=dist(i,i+1) -1; return sum; }; int main(){ unsigned int a,b; cin>>a>>b; if(a>b) swap(a,b); cout<<from1(b) - from1(a); }; Edited by author 07.11.2008 12:16 Edited by author 07.11.2008 12:16 Edited by author 07.11.2008 12:35 |
|
|