Advertisement
Guest User

Untitled

a guest
Jul 29th, 2015
226
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.84 KB | None | 0 0
  1. #include<iostream>
  2. #include<cmath>
  3. using namespace std;
  4.  
  5.  
  6. int binary(int q,int max)
  7. {
  8. int d=0;
  9. int n1=0;
  10. while(q!=0)
  11. {
  12. d=q%2;
  13. if(d%2!=0)
  14. n1++;
  15.  
  16. q=q/2;
  17. }
  18. return n1;
  19. }
  20. int main()
  21. {
  22. int t;
  23. cin>>t;
  24. while(t--)
  25. {
  26. int p1,p0,m1,m0;
  27. int max;
  28. cin>>max;
  29. int no1,no2;
  30. cin>>no1>>no2;
  31. p1= binary(no1,max);
  32. p0=max-p1;
  33. m1=binary(no2,max);
  34. m0=max-m1;
  35. //cout<<p1<<" "<<p0<<endl;
  36. //cout<<m1<<" "<<m0<<endl;
  37. int r[100];
  38. for(int i=0;i<max;i++)
  39. {
  40. while(p1!=0 && m0 !=0)
  41. {
  42. r[i]=1;
  43. p1--;
  44. m0--;
  45. i++;
  46. }
  47.  
  48. while(m1!=0 && p0 !=0)
  49. {
  50. r[i]=1;
  51. m1--;
  52. p0--;
  53. i++;
  54. }
  55.  
  56. while(p0!=0)
  57. {
  58. r[i]=0;
  59. p0--;
  60. i++;
  61. }
  62.  
  63. while(m0!=0)
  64. {
  65. r[i]=0;
  66. m0--;
  67. i++;
  68. }
  69.  
  70.  
  71.  
  72.  
  73. }
  74. int sum=0,j=0;
  75. for(int i=max-1;i>=0;i--)
  76. {
  77. sum=sum+r[i]*pow(2,j);
  78. j++;
  79. }
  80. cout<<sum<<endl;
  81. }
  82.  
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement