XOR Guessing(CF 1207 E)

CodeForces - 1207E

题目大意

这是一道交互题。有一个未知数x,你只能询问两次,每次询问100个数a1,a2,,a100,且这200个数不能重复,每次询问,会返回x异或上询问的100个数中其中一个的结果,最后让你输出这个数x是多少。(0x2141)

思路

这题感觉思路还是挺妙的,我们把这个数分成前7位和后7位来看,这样只要保证第一次询问的所有数的前7位都为0,则就能知道这个数的前7位了,后7位亦然,于是这道题就结束了。

代码

#include<bits/stdc++.h>
using namespace std;
int main()
{
	cout<<"? ";
	for(long long i=1;i<=100;i++)cout<<i<<" ";
	cout<<endl;
	fflush(stdout);
	long long x1;cin>>x1;
	cout<<"? ";
	for(long long i=1;i<=100;i++)cout<<(i<<7)<<" ";
	cout<<endl;
	fflush(stdout);
	long long x2;cin>>x2;
	x1>>=7;x1<<=7;
	x2%=(1<<7);
	cout<<"! "<<x1+x2<<endl;
	return 0;
}

__EOF__

本文作者Jerry-Black
本文链接https://www.cnblogs.com/Jerry-Black/p/16295834.html
关于博主:小蒟蒻一只( ̄^ ̄)ゞ
版权声明:转载请注明来源哟~ QAQ
声援博主:UP UP UP !!!
posted @   Jerry_Black  阅读(92)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示