1977: 黑暗意志(异或)
1977: 黑暗意志
Time Limit: 1 Sec Memory Limit: 128 MB
Submit: 103 Solved: 49
[Submit][Status][Web Board]
Description
在数千年前潘达利亚从卡利姆多分离之时,迷雾笼罩着这块新形成的大陆,使它不被外来者发现。迷雾同样遮蔽着这片大陆古老邪恶的要塞——雷神的雷电王座。在雷神统治时期,他的要塞就是雷电之王力量的保障。即使在他死后,强大而堕落的能量仍然在此萦绕不绝;而复活的雷电之王和赞达拉巨魔企图再次驾驭那股能量,重建昔日帝国。这就是魔兽世界5.2版本的大型团队副本"雷电王座"
雷电王座中有一个神奇的BOSS是所有玩家都会记得的,直到现在当你的人物血量比BOSS血量都高的时候,在战斗的时候都要注意自己是不是会一不留神死在这个BOSS面前,它就是"黑暗意志"
黑暗意志的整场战斗围绕着一种神秘、旋转的液体——心能;它们是在这侧厅室内魔古实验的核心。这些重要的液体有固定的量并能激活魔像。当最初储藏它们的容器被摧毁后,逃逸出的液体会不断流向越来越大的构造体;直至它们的量聚集到一定程度后,便会激活所有魔像中最大的一个——黑暗意志。
击杀这个BOSS需要团队玩家一个人面向一个小魔像,在保证不击杀小魔像的情况下存活并且对BOSS进行输出,并且在需要时击杀小魔像以减轻治疗压力,提高对BOSS的输出
但是在炼狱难度下,玩家不但要保证不击杀小魔像,更要保证任意一个小魔像本身的血量,有另一个小魔像的血量与它相同,那么这两个小魔像之间便会形成一条连线(每个小魔像只能连接一条线),同时小魔像上会出现一个debuff(减少小魔像50%的输出),显然这个debuff在炼狱难度下的副本战斗中至关重要。
所以在炼狱难度开荒的时候,队长会给两个DPS差不多的玩家组队,让这两个玩家保证自己的小魔像与另一个人的小魔像血量相同,但是在团灭五次之后,团长终于发现,不是治疗不够,而是有两个玩家的DPS与之前的DPS有了差别,所以总是不能保证他们这一组的小魔像血量相同,但是这个时候,每对玩家彼此都有了默契,重新分组显然是不明智的,那么团长准备自己去帮助那两个玩家,保证他们的小魔像血量相同,但是团长需要知道,他们两个的小魔像血量是多少,才可以去攻击那个血量较多的小魔像,来保证这两个小魔像血量相同,从而击杀BOSS。
所以现在告诉你所有小魔像的血量,你能告诉团长,那两个玩家所对应的小魔像血量是多少吗?
Input
第一行一个整数T,代表数据的组数(1<=T<=10),接下来T组数据,每组数据的第一行是一个整数n(2<=n<=1000000,保证n是偶数),第二行是n个整数ai(0 <= ai <= 1000000000)代表血量,每两个整数之间有一个空格,(输入保证有且只有两个小魔像无法连线)
Output
对于每组数据,输出两个整数,分别代表两个小魔像的血量,中间有一个空格,并且血量较大的先输出。
Sample Input
2
6 2
2 1 1 3 4 4
1 1
3 4
Sample Output
4 3
4 3
分析:
就是找一串数组中各自都只出现过1次的两个数,并且大的数字在前;
用异或来做。只有两个数字只出现过一次,所以,把所有的数字异或过来,最后得到的结果(记 sum)就是这两个数组异或的结果。然后就是把这两个数组分开来。两个数字异或,相同为0不同为1,所以这两个数字必然有至少一位是不相同的。我们只要找到最低的这一位。其他相同的数字对应位必然相同,所以就不用管他们了。然后,就可以分为两组,这一位相同的进行异或,不同的在另一组异或。最终得到的两个数字就是最后的答案了。
【代码】
#include<iostream>
#include<cstdio>
using namespace std;
const int maxn=1e6+5;
long long a[maxn];
int main()
{int t;scanf("%d",&t);while(t--){int n,sum=0;scanf("%d",&n);for(int i=0;i<n;i++){scanf("%lld",&a[i]);sum^=a[i];} //cout<<"sum="<<sum<<endl;int f=0;while( ((sum>>f)&1) == 0 )//注意优先级!!!!!(和下面注释掉的代码效果等同)f++;/*while(sum){if(sum%2==1)break;f++;sum/=2;}*/// cout<<"f="<<f<<endl;int x=0,y=0;for(int j=0;j<n;j++){// cout<<a[j]<<endl;if((a[j]>>f)&1)x^=a[j];else y^=a[j];// cout<<"x="<<x<<",y="<<y<<endl;}if(x<y)swap(x,y);cout<<x<<" "<<y<<endl;}
}
下面是我的代码,个人觉得很对了,但是总是wa
更新:下面代码,套的循环太多。。很不可行。思路也是。正确代码见上↑
#include<bits/stdc++.h>
using namespace std;
const int maxn=1000010;
int a[maxn],b[maxn];
int main()
{int t,n;scanf("%d",&t);while(t--){scanf("%d",&n);memset(a,0,sizeof(a));memset(b,0,sizeof(b));for(int i=0;i<n;i++)scanf("%d",&a[i]);sort(a,a+n);int cnt,x=0,flag=0;for(int i=0;i<n;i++){if(a[i+1]!=a[i]){cnt=i-x+1;x=i+1;for(int j=i-cnt+1;j<x;j++)b[j]=cnt;}}int xx,yy;for(int i=0;i<maxn;i++){if(flag==0&&b[i]==1){flag=1;xx=a[i];}else if(flag==1 &&b[i]==1){yy=a[i];break;}}if(xx>yy)cout<<xx<<" "<<yy<<endl;if(xx<yy)cout<<yy<<" "<<xx<<endl;}return 0;}
1977: 黑暗意志(异或)相关推荐
- 【ZCMU1977】黑暗意志
题目链接 1977: 黑暗意志 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 89 Solved: 46 [Submit][Status][Web ...
- 备战省赛--黑暗意志
如花美眷,似水流年,回得了过去,回不了当初. 题目描述 在数千年前潘达利亚从卡利姆多分离之时,迷雾笼罩着这块新形成的大陆,使它不被外来者发现.迷雾同样遮蔽着这片大陆古老邪恶的要塞--雷神的雷电王座.在 ...
- 黑暗意志【map水题】
问题 B: 黑暗意志 时间限制: 1 Sec 内存限制: 128 MB 提交: 671 解决: 211 [提交] [状态] [命题人:外部导入] 题目描述 在数千年前潘达利亚从卡利姆多分离之时,迷 ...
- upc组队赛1 黑暗意志【stl-map】
黑暗意志 题目描述 在数千年前潘达利亚从卡利姆多分离之时,迷雾笼罩着这块新形成的大陆,使它不被外来者发现.迷雾同样遮蔽着这片大陆古老邪恶的要塞--雷神的雷电王座.在雷神统治时期,他的要塞就是雷电之王力 ...
- 备战省赛第一场 问题 B: 黑暗意志
问题 B: 黑暗意志 时间限制: 1 Sec 内存限制: 128 MB 提交: 853 解决: 295 [提交] [状态] [命题人:外部导入] 题目描述 在数千年前潘达利亚从卡利姆多分离之时,迷 ...
- 问题 B: 黑暗意志
题目描述 在数千年前潘达利亚从卡利姆多分离之时,迷雾笼罩着这块新形成的大陆,使它不被外来者发现.迷雾同样遮蔽着这片大陆古老邪恶的要塞--雷神的雷电王座.在雷神统治时期,他的要塞就是雷电之王力量的保障. ...
- 斯巴达300勇士 中英文对照
When the boy was born- 男孩出生的时候 -like all Spartans, he was inspected. 必须像每个斯巴达人一样接受检验 If he'd been sm ...
- java寂静岭 攻略,GBA版《寂静岭》HARRY篇图文流程攻略
"Play Novel: Silent Hill"是KONAMI于2001年3月21日在GBA上推出的一款文字冒险游戏,剧情内容取自同社的恐怖冒险游戏--Silent Hill(& ...
- 第二届全国中医药院校大学生程序设计竞赛
目录 A 篮球队选拔 B 黑暗意志 C 调酒壶里的酸奶 D 过分的谜题 E 不存在的泳池 F fps游戏 G 流连人间的苏苏 H 路哥从不低头 (还没有写) I 闪闪发光 J 小C的数学问题 K 周期 ...
最新文章
- MyBatis开发重点知识
- 金融业如何更好地利用大数据实现突破性变革?(实例解读)
- Solaris 下 Oracle impdp 过程中出现的问题
- web开发应届生入职_我如何从全职妈妈着手完成第一份Web开发人员工作
- oracle 如何创建游标,Oracle--plsql游标创建和使用
- 斯坦福机器学习课程 Exercise 习题三
- dedecms 封面模板和列表模板有什么不同
- Linux局域网传输文件
- 传输线理论 1/4波长阻抗变换器的分析匹配
- 云原生时代,Kubernetes 让应用落地的 N 种招式(附 PPT)
- android TV 插入U盘检测
- ES嵌套(Nested)文档使用
- oppo手机投屏到电脑上
- 关于firefly-rk3288开发板编译uboot的问题
- 配音兼职平台有那些,配音兼职靠谱的平台?
- CartoonShader
- 论文最后一页是空白页的有效删除方法
- 基于禁忌搜索算法的TSP问题求解matlab仿真
- python江红第五章课后答案_第五章课后习题参考答案
- 我是这样理解HTTPS的
热门文章
- no target connected 和 unknown target connected
- srcset_如何使用srcset构建响应图像
- 新浪微博android版,新浪微博Android版 登录之Logo欢迎页
- NO.44-----QQ音乐全站爬虫
- ios-APP重构之路(一) 网络请求框架
- 图论分类讨论 bzoj2503相框
- 鸿蒙系统手机好不好,华为鸿蒙系统是什么情况 鸿蒙系统好用吗[多图]
- 华为型号5g版本是android,华为手机中支持5g手机的有哪些型号?
- 从电信网络诈骗角度剖析,诈骗资金是如何流转的?
- BIOS+MBR,BIOS+GPT,EFI+GPT/MBR几种安装方式的区别及grub位置的记录