E. XOR Guessing

第一次做这种交互题,刚开始还看不懂,现在已经差不多可以理解了,清空缓存区用cout<<endl;即可,需要注意的是,如果用fflush(stdout)来清空缓存区,注意不能关同步

思路:最多可能是\(2^{14}-1\)总共14位数,最多可以询问两次,那么只需要分别求出其前7位和后7位即可,1~100与 x 取&,那么我们就可以得出x的前7位的值,因为1~100最多只有7位,不会影响到前7位,那么后7位只需将 x 与(1~100)<<7取&即可

代码:

// Created by CAD on 2019/8/23.
#include <bits/stdc++.h>
using namespace std; int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
cout<<"?";
for(int i=1;i<=100;++i) cout<<" "<<i;
cout<<endl;
int x; cin>>x;
cout<<"?";
for(int i=0;i<100;++i) cout<<" "<<(i+1<<7);
cout<<endl;
int y; cin>>y;
cout<<"! ";
cout<<((y&0x7f)|(x&~0x7f))<<endl;
return 0;
}

python 版本:

print('?', *[(i+1) << 7 for i in range(100)], '\n', '?', *[(i+1) for i in range(100)])
print("!",((int(input()) & 0x7F)|(int(input()) & ~0x7f)))

最新文章

  1. 微信小程序开发—快速掌握组件及API的方法
  2. 转一篇简洁的UIView动画编程方法
  3. (Hibernate进阶)Hibernate映射——多对多关联映射(八)
  4. DOCTYPE是什么鬼?文档模式又是什么鬼?
  5. 生成N个二进制位的组合
  6. iOS7 中的JavaScriptCore简单介绍
  7. WPF之RichTextBox丢失光标仍然选中文本
  8. CentOS学习笔记--程序管理
  9. Contoso 大学 - 2 – 实现基本的增删改查
  10. 动态可视化库Vis.js:社交关系谱
  11. ASP.NET自定义控件组件开发 第四章 组合控件开发CompositeControl 后篇 --事件冒泡
  12. ABAP中的AMDP(ABAP-Managed Database Procedures )
  13. PHP 微信公众号-创建菜单-配置
  14. VNC配置
  15. Spring Security(三十六):12. Spring MVC Test Integration
  16. 2、php中字符串单引号好和双引号的区别
  17. Saltstack管理对象属性之grains和pillar组件
  18. ARP和RARP协议详解
  19. idea如何搭建springboot框架
  20. Linux 中指定启动 tomcat 的 jdk 版本

热门文章

  1. C#面向对象19 值传递和引用传递
  2. 【原创】Linux基础之重定向stdout/stderr
  3. Func&lt;&gt;委托、扩展方法、yield、linq ForEach综合运用
  4. Scrapy 爬取某网站图片
  5. Mongodb安装后在任务管理器中找不到这个服务
  6. JavaWeb【五、内置对象】
  7. DA_06_高级文本处理命令
  8. webserver技术总结之一:webserver概念
  9. 2019.5.13-5.17知识点:文件管理、目录操作、索引节点、软硬链接,vim文本编辑 知识点
  10. Scala(二)——基础语法(与Java的区分)和函数式编程