计算机学院大学生程序设计竞赛(2015’12)Bitwise Equations
Bitwise Equations
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 633 Accepted Submission(s): 335
Where '|' denotes the bitwise OR operator.
For each case, there are two integers X and K (1 <= X, K <= 2000000000) in one line.
3
5 1
5 5
2000000000 2000000000
2
18
16383165351936
总是望着曾经的空间发呆,那些说好不分开的朋友不在了,转身,陌路。 熟悉的,安静了, 安静的,离开了, 离开的,陌生了, 陌生的,消失了, 消失的,陌路了。
#include <string.h>
#include <iostream>
using namespace std;
long long rets=0;
class jisuan
{
public:
long long kthPlusOrSolution(int, int);
string getBin(int);
};
string jisuan::getBin(int x)
{
string ret="";
if(x==0)
{
ret="0";
return ret;
}
while(x>0)
{
ret=char(x%2+'0')+ret;
x/=2;
}
return ret;
}
long long jisuan::kthPlusOrSolution(int x, int k)
{
string strx, strk;
strx=getBin(x);
strk=getBin(k);
int lx=strx.length()-1;
int lk=strk.length()-1;
string ret="";
while(lx>=0 && lk>=0)
{
if(strx[lx]=='1')
{
ret="0"+ret;
--lx;
}
else
{
ret=strk[lk]+ret;
--lx;
--lk;
}
}
while(lk>=0)
ret=strk[lk--]+ret;
for(int i=0;i<(int)ret.length();i++)
rets=(rets<<1)+ret[i]-'0';
return rets;
}
int main()
{
int n,x,k;
jisuan bit;
cin>>n;
while(n--)
{
rets=0;
cin>>x>>k;
bit.kthPlusOrSolution(x,k);
cout<<rets<<endl;
}
}
@执念 "@☆但求“❤”安★
下次我们做的一定会更好。。。。
为什么这次的题目是英文的。。。。QAQ...
计算机学院大学生程序设计竞赛(2015’12)Bitwise Equations的更多相关文章
- hdu 计算机学院大学生程序设计竞赛(2015’11)
搬砖 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others)Total Submissi ...
- 计算机学院大学生程序设计竞赛(2015’11)1005 ACM组队安排
1005 ACM组队安排 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Pro ...
- 计算机学院大学生程序设计竞赛(2015’12) 1005 Bitwise Equations
#include<cmath> #include<cstdio> #include<cstring> #include<algorithm> using ...
- 计算机学院大学生程序设计竞赛(2015’12)Study Words
Study Words Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Tota ...
- 计算机学院大学生程序设计竞赛(2015’12)Polygon
Polygon Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Su ...
- 计算机学院大学生程序设计竞赛(2015’12)The Country List
The Country List Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- 计算机学院大学生程序设计竞赛(2015’12) 1008 Study Words
#include<cstdio> #include<cstring> #include<map> #include<string> #include&l ...
- 计算机学院大学生程序设计竞赛(2015’12) 1009 The Magic Tower
#include<cmath> #include<cstdio> #include<cstring> #include<algorithm> using ...
- 计算机学院大学生程序设计竞赛(2015’12) 1006 01 Matrix
#include<stdio.h> #include<string.h> #include<iostream> #include<algorithm> ...
随机推荐
- Android数据存储之Shared Preferences共享数据存储
Android数据存储之Shared Preferences共享数据存储 在Android中一共提供了4种数据存储方式,但是由于存储的这些数据都是其应用程序私有的,所以如果需要在其他应用程序中使用这些 ...
- msp430项目编程41
msp430综合项目---红外遥控直流电机调速系统41
- electron 自定义菜单
快捷键:http://electronjs.org/docs/api/accelerator
- [Bzoj3676][Apio2014]回文串(后缀自动机)(parent树)(倍增)
3676: [Apio2014]回文串 Time Limit: 20 Sec Memory Limit: 128 MBSubmit: 3396 Solved: 1568[Submit][Statu ...
- 常用业务返回对象类ResponseJson
目录 1.ResponseJson类 2.使用举例 1.ResponseJson类 import java.io.Serializable; public class ResponseJson imp ...
- MFC中的几种播放声音的方法
一.播放声音文件的简单方法 在VC++ 中的多媒体动态连接库中提供了一组与音频设备有关的函数.利用这些函数可以方便地播放声音.最简单的播放声音方法就是直接调用VC++中提供的声音播放函 数BOOL s ...
- HDU 3118 Arbiter 判定奇圈
题目来源:pid=3118">HDU 3118 Arbiter 题意:翻译过来就是不能有奇圈 每走一步状态会变化 当他回到起点时假设和原来的状态不一样 可能会死 求至少去掉多少条边能够 ...
- POJ 3518 Prime Gap(素数)
POJ 3518 Prime Gap(素数) id=3518">http://poj.org/problem? id=3518 题意: 给你一个数.假设该数是素数就输出0. 否则输出比 ...
- Multiple analytic account plans多辅助核算方案
定义核算方案 菜单 会计/设置/辅助核算会计/多个方案 点击"创建"按钮 说明 辅助核算方案,输入方案名称 点击"添加一个 ...
- Gas Station,转化为求最大序列的解法,和更简单简单的Jump解法。——贪心、转化
Gas Station There are N gas stations along a circular route, where the amount of gas at station i is ...