思路:

根据异或的性质一位一位来搞。参考了https://blog.lucien.ink/archives/362/

实现:

 #include <bits/stdc++.h>
using namespace std;
void out(char x, int a, int b)
{
cout << x << " " << a << " " << b << endl;
fflush(stdout);
}
int main()
{
int a, b;
char big = 'a';
out('?', , );
cin >> a;
if (a == -) big = 'b';
int x = , y = ;
for (int i = ; i >= ; i--)
{
int t = << i;
x |= t; y &= ~t;
out('?', x, y);
cin >> a;
x ^= t; y ^= t;
out('?', x, y);
cin >> b;
if (a == - && b == )
{
x |= t; y |= t;
}
else if (a == && b == -)
{
x &= ~t; y &= ~t;
}
else if (a == b)
{
if (big == 'a')
{
x |= t; y &= ~t;
if (a == -) big = 'b';
}
else
{
x &= ~t; y |= t;
if (a == ) big = 'a';
}
}
}
out('!', x, y);
return ;
}

最新文章

  1. bash 源码分析
  2. ORACLE回收站机制介绍
  3. python中2进制、10进制、16进制等之间的转换
  4. 轻松学习Linux之认识Shell
  5. 最新Blog
  6. hdoj 1285 确定比赛名次【拓扑排序】
  7. Android布局属性详解剖析
  8. .net 实现aop的三种方法。
  9. 前端MVC Vue2学习总结(六)——axios与跨域HTTP请求、Lodash工具库
  10. 《剑指offer》 二维数组中的查找
  11. IEnumerable、ICollection、IList、List之间的区别与方法介绍
  12. mongodb安全权限设定
  13. python学习 day20 (3月27日)----(单继承多继承c3算法)
  14. Windows下Mongodb安装及配置
  15. 【进阶修炼】&mdash;&mdash;改善C#程序质量(5)
  16. .Net Core在Middleware中解析RouteData
  17. 用python解析word文件(二):table
  18. linux下jdk/maven/tomcat
  19. AI篇6====&gt;第一讲
  20. CentOS7.4关闭防火墙

热门文章

  1. 洛谷 P4336 黑暗前的幻想乡 —— 容斥+矩阵树定理
  2. bootstrap 全局样式
  3. saltstack其他运行模式
  4. ES5.X相关API和技巧汇总
  5. idea+tomcat 解决 debug超级慢 问题
  6. SetCapture到底是什么?
  7. .net实现IHttpModule接口顾虑器
  8. 在Packstack环境手动安装OVN
  9. java反射机制应用之动态代理
  10. 卸载/安装ubuntu系统教程