正题

题目链接:https://www.luogu.com.cn/problem/CF1375F


题目大意

给出a,b,ca,b,ca,b,c。先手每次指定一个数kkk,然后后手指定一个数字加上kkk,若有相同的数则先手胜利,操作次数超过100010001000后后手胜。后手不能两次操作同一个数。

你选择先手/后手后与交互系统进行交互。

1≤a,b,c≤109,1≤k≤10121\leq a,b,c\leq 10^9,1\leq k\leq 10^{12}1≤a,b,c≤109,1≤k≤1012


解题思路

如果三个数等差并且上次后手操作的那个数是最大的就可以获胜。

是不是有一种先手必胜的感觉,那选择先手,再考虑怎么构造等差。

我们先让后手操作一个数后变成当前最大的(选择一个很大的数作为kkk即可)

然后假设操作后a>b>ca>b>ca>b>c,那么上一次操作的是aaa。

然后此时如果加上一个(a−b)+(a−c)(a-b)+(a-c)(a−b)+(a−c)就能够构成一个等差了。

显然的,因为后手不能操作aaa,如果操作了bbb或ccc就会让操作的那个变成最大的,然后刚好等差。

所以先手三步以内必胜。

时间复杂度O(1)O(1)O(1)


code

#include<cstdio>
#include<cstring>
#include<algorithm>
#define ll long long
using namespace std;
ll x,y,a[4];
signed main()
{scanf("%lld%lld%lld",&a[1],&a[2],&a[3]);printf("First\n");fflush(stdout);printf("100000000000\n");fflush(stdout);scanf("%lld",&x);a[x]+=1e11;if(x==0)return 0;printf("%lld\n",a[x]*3-a[1]-a[2]-a[3]);fflush(stdout);scanf("%lld",&y);a[y]+=a[x]*3-a[1]-a[2]-a[3];if(y==0)return 0;printf("%lld\n",a[x]-a[6-x-y]);fflush(stdout);scanf("%lld",&x);return 0;
}

CF1375F-Integer Game【交互】相关推荐

  1. air调用java,AIR2.0入门教程:与Java应用交互

    在之前的一篇文章中,我介绍了如何使用AIR2.0新增的NativeProcess类与本地进程进行交互和通讯,在那个例子里面我们使用了C++ 的代码,实际上只要是基于命令行的标准输入输出,AIR2.0的 ...

  2. Java豆瓣电影爬虫——减少与数据库交互实现批量插入

    节前一个误操作把mysql中record表和movie表都清空了,显然我是没有做什么mysql备份的.所以,索性我把所有的表数据都清空的,一夜回到解放前-- 项目地址:https://github.c ...

  3. MySQL和Python交互

    与Python交互 python3模块名:pymysql conda install pymysql conda install sqlalchemy python2模块名:MySQLdb impor ...

  4. [原创]前后端交互的方式整理

    前言 本来我只是想整理下前后端如何传输数据这种交互过程,大概流程如下: 前台使用ajax通过get/post等方式提交数据到后端 后端如何获取参数 经过业务处理后,返回前端对应的响应数据 前端接受到响 ...

  5. android与python交互_Android与Python混合编程

    前言 早在2017年的时候,出于业余兴趣,我就开始研究关于Python移植到Android上的实现方案,我一直希望能实现Android与Python的混合编程,并为此写了一系列博客,我希望借助JNI技 ...

  6. php和python交互-Python如何实现简单的用户交互程序(示例)

    本篇文章给大家带来的内容是关于Python如何实现简单的用户交互程序(示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 我们经常使用的程序都会有与用户交互的程序,比如网页的登录, ...

  7. JAVA配置注解方式搭建简单的SpringMVC前后台交互系统

    前面两篇文章介绍了 基于XML方式搭建SpringMVC前后台交互系统的方法,博文链接如下: http://www.cnblogs.com/hunterCecil/p/8252060.html htt ...

  8. JSP/Servlet Web 学习笔记 DayFour —— 实现一个简单的JSP/Servlet交互

    小实例说明: a)实现一个由JSP负责前台显示,Servlet负责后台处理的交互小实例 b)JSP页面由表单获取一个开始数字,一个结束数字,交给Servlet打印响应的乘法表. 未解决的问题: a)跳 ...

  9. Salesforce视图与控制器之间的交互

    刚接触Salesforce,过程的确是比较艰难了,中文资料几乎没有,看英文资料学的效率却不高,不过看了一段时间的英文资料发现自己英语水平挺高不少啊,现在看都不用工具翻译,早知道就再次尝试报个6级,看下 ...

  10. json数据交互与@RequestBody

    @RequestBody @RequestBody注解用于读取http请求的内容(字符串),通过springmvc提供的HttpMessageConverter接口将读到的内容(json数据)转换为j ...

最新文章

  1. 检查Bash数组是否包含值
  2. 初级搭建博客mysql_mysql 初级命令学习2
  3. DispatcherServlet的启动和初始化
  4. 【BZOJ】1834: [ZJOI2010]network 网络扩容(最大流+费用流)
  5. 上帝与集合的正确用法(bzoj3884)
  6. laravel-admin 在指定的相册下添加照片
  7. python自动化运维工程师面试题_运维面试题(含答案)
  8. 系统规划与管理师——IT服务规划设计
  9. 2、趋势科技2017校招开发岗试题
  10. mc服务器怎么回到床的位置,《我的世界》MC床的功能居然跟这四个指令有关系?很多人不知道!...
  11. shell foreach
  12. 一个疑惑的的问题-ntvdm.exe进程
  13. 清理kdevtmpfsi、dbused挖矿木马程序
  14. Centos7x破解密码
  15. 当贝市场为什么没有电视直播软件了【最新解决方法】
  16. 自定义dialog 可以读秒自动关闭
  17. Python中用于判断两个集合的交集是否为空集isdisjoint()方法
  18. HTML编写script,script
  19. 从零开始学Pytorch(第5天)
  20. 学习Android怎么在未来站稳脚跟

热门文章

  1. 有关的命令linux,Linux与用户有关的命令
  2. java对象实例_深入理解Java对象实例生成的例子!(转)
  3. python求解微分方程组_python – SymPy / SciPy:求解具有不同变量的常微分方程组...
  4. 王某调离岗位后所使用计算机由新到任陈某,2017年沧州事业单位考试模拟卷
  5. c 命令导出数据到mysql_MySQL命令行导出数据库
  6. leetcode84. 柱状图中最大的矩形
  7. 7-34 任务调度的合理性 (25 分)(思路加详解+兄弟们冲呀)
  8. [RabbitMQ]工作原理_原理名词解释
  9. Java实现BST搜索树
  10. Java语法基础50题训练(下)