博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【2019年乐山师范学院程序设计大赛 --- D. 数字心灵感应】
阅读量:2038 次
发布时间:2019-04-28

本文共 1568 字,大约阅读时间需要 5 分钟。

【2019年乐山师范学院程序设计大赛 --- D. 数字心灵感应】

题目来源:

Description

“数字心灵感应”是一个非常有趣的游戏,大意是:有 N 个框,每个框里都有一些数字(同一数字可以在不同的框内出现),让玩家心里选中一个数字,并指出这个数字在哪些框内出现,就可以迅速的猜到玩家选中的数字是多少。

其实游戏的奥妙在于十进制与二进制的之间的转换,每个十进制整数转换成二进制之后,将第 1 位是 1 的所有数字放进第 1 个框,将第 2 位是 1 的所有数字放进第 2 个框,……
根据玩家指出这个数字出现的框的编号,得到这个数字的二进制表示,从而迅速算出这个数字是多少。
所以,我们也来玩玩这个游戏,给出玩家所选中数字的所在框的个数 n 和这 n 个框对应的编号,请你计算出这个数字(框的编号从 1 到 N,对应二进制数从右往左数的位数)。

Input

输入两行,第一行只有一个整数 n,第二行有 n 个整数 i1,i2,……,iN(0 < n ≤ 64, 0 < i ≤ 64,i 从小到大顺序排列)。

Output

输出一个整数,表示玩家心里所选中的数字。

Sample Input

4

1 3 4 5

Sample Output

29

Note

针对样例,假设有 5 个框。

第 1 个框中的数字有:1、3、5、7、9、11、13、15、17、19、21、23、25、27、29、31;
第 2 个框中的数字有:2、3、6、7、10、11、14、15、18、19、22、23、26、27、30、31;
第 3 个框中的数字有:4、5、6、7、12、13、14、15、20、21、22、23、28、29、30、31;
第 4 个框中的数字有:8、9、10、11、12、13、14、15、24、25、26、27、28、29、30、31;
第 5 个框中的数字有:16、17、18、19、20、21、22、23、24、25、26、27、28、29、30、31;
出现玩家选中数字的框对应编号是 1、3、4、5,对应二进制表示为 11101,转换成十进制整数就是 29。

再进一步解释:

1 ------00001
3 ------00011
5 ------00101
7 ------00111
29-----11101
31-----11111
将二进制的第一位(从右往左数)都是 1 的数放进第 1 个框。
将二进制的第二位(从右往左数)都是 1 的数放进第 2 个框。
反过来观察,因为 29 的二进制中,第一、三、四、五位都是 1,所以 29 就会在第 1 、3、4、5 个框中出现。

明白了这个游戏怎么玩么?赶紧去和你的朋友试一试吧。

解题思路

通过二进制位,在所对应的位上加1就行了,但是需要注意i的范围是1-64所以long long 也装不下,但是最坏的情况也就是64位数全是1,那么就可以用unsigned long long 来表示。

AC代码:

#include 
using namespace std;#define SIS std::ios::sync_with_stdio(false),cin.tie(0),cout.tie(0)#define endl '\n'typedef unsigned long long ull;int main(){
SIS; int n,x; ull ans=0; cin >> n; while(n--) {
cin >> x; ans+=(ull)1<<(x-1); } cout << ans << endl; return 0;}

转载地址:http://csyof.baihongyu.com/

你可能感兴趣的文章
iOS 短信与电话事件的获取
查看>>
iOS ArcGIS file is universal (2 slices) but does not contain a(n) armv7s slice
查看>>
避免滥用单例
查看>>
8张图理解Java
查看>>
265行代码实现第一人称游戏引擎
查看>>
IOS多线程读写Sqlite问题解决
查看>>
iOS后台播放音乐
查看>>
Background Modes in iOS Tutorial
查看>>
iOS开发- 蓝牙后台接收数据(BLE4.0)
查看>>
UITextField增加textDidChange回调功能
查看>>
iOS 7中UIImagePickerController拍照或录制视频黑屏的问题
查看>>
UIImage灰化 反色 棕色
查看>>
Arcgis for ios笔记
查看>>
FFT.c
查看>>
2014年知名IT企业待遇参考
查看>>
全栈工程师的毁与誉
查看>>
JDK中的设计模式应用实例
查看>>
万年历实现源代码
查看>>
eclipse字体颜色的设置方法
查看>>
【IOS】异常捕获 拒绝闪退 让应用从容的崩溃 UncaughtExceptionHandler
查看>>