fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. #define ll long long
  4. vector<int>pal={0,1,3};int sz;
  5. void fill(int i=1,int o=sz-2,int sum=1|(1<<sz-1))
  6. {
  7. if(i>o)return;
  8. if(i==o)
  9. {
  10. pal.push_back(sum|(1<<i));
  11. pal.push_back(sum);
  12. return;
  13. }
  14. pal.push_back(sum);
  15. fill(i+1,o-1,sum);
  16. fill(i+1,o-1,sum|(1<<i)|(1<<o));
  17. }
  18. signed main()
  19. {
  20. ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
  21. for(int i=3;i<=30;i++)sz=i,fill();
  22. sort(pal.begin(),pal.end());
  23. pal.erase(unique(pal.begin(),pal.end()),pal.end());
  24. int t;cin>>t;while(t--)
  25. {
  26. int l,r;cin>>l>>r;
  27. cout<<upper_bound(pal.begin(),pal.end(),r)-lower_bound(pal.begin(),pal.end(),l)<<'\n';
  28. }
  29. return 0;
  30. }
Success #stdin #stdout 0.01s 5320KB
stdin
4
123 1234
2000 2022
10 100
100 1000
stdout
35
1
11
31