题目

有三堆石子初始石子数分别为\(a,b,c\),可以选择先手还是后手操作,

每次操作形如先手选择一个正整数 \(k\) ,后手自由选择一堆石子加上 \(k\) ,

但是不能和上一次操作选择的石堆相同。

如果在1000次操作内,存在两堆石子相同则先手必胜,否则先手必败


分析

考虑如果单纯补上两堆石子的差值那么后手必然会选择第三堆石子或者大的那堆石子,

那么就是要让后手无法选择,所以要让\(b-a=c-b\)并且强制\(c\)这一堆不能选先手必胜,

考虑先设置公差,\(c\)要倒数第二轮,那么可以先指定\(b\)是哪一堆,一开始设置\(inf\)即可,

那么\(b\)就是第二大的,因为最后要使\(b*2=a+c\),那么可以将公差设为\(b*2-a-c\),

这样后手选的数一定是最大的,这样再设置公差三轮先手必胜


代码

#include <cstdio>
#define rr register
using namespace std;
typedef long long lll; lll a[3];
inline signed Get_Rank(lll x){
printf("%lld\n",x),fflush(stdout);
rr int ret; scanf("%d",&ret);
if (!ret) return -1;
a[--ret]+=x; return ret;
}
signed main(){
for (rr int i=0;i<3;++i) scanf("%lld",&a[i]);
printf("First\n"),fflush(stdout);
rr int now0=Get_Rank(1e10); if (now0==-1) return 0;
rr int now1=Get_Rank(a[now0]*3-a[0]-a[1]-a[2]); if (now1==-1) return 0;
Get_Rank(a[now1]-a[now0]);
return 0;
}

#交互#CF1375F Integer Game的更多相关文章

  1. Codeforces 1375F - Integer Game(交互)

    Codeforces 题面传送门 & 洛谷题面传送门 一个奇怪的做法. 首先我们猜测答案总是 First.考虑什么样的情况能够一步把对方一步干掉.方便起见我们假设 \(a<b<c\ ...

  2. EventBus实现activity跟fragment交互数据

    最近老是听到技术群里面有人提出需求,activity跟fragment交互数据,或者从一个activity跳转到另外一个activity的fragment,所以我给大家介绍一个开源项目,EventBu ...

  3. javafx之HTTP协议交互

    javafx端要获取获取如下信息: 服务器端获取的数据: javafx客户端发送的数据以及获取的数据: 工程目录: package Httputil; import IPsite.IPaddress; ...

  4. Android实现与PHP服务器的交互

    今天算是有点小激动呢!拿到Android与PHP这个课题已经两个星期了,直到今天才算是有了一点点小收获. 虽然还是没能成功上传到服务器,不过已经看到了曙光,已经实现了一半了,那就是已经连接到了服务器. ...

  5. Python与C++结构体交互

    需求:根据接口规范,实现与服务端的数据交互 服务端结构体分包头.包体.包尾 包头C++结构体示例如下 typedef struct head { BYTE string1; BYTE string2; ...

  6. 【spring 注解 错误】使用controller 作为后台给前台ajax交互数据出错

    controller作为后台与前台的ajax进行交互,后台的方法处理完成返回一个boolean类型的值,想传给前台用来判断是否执行成功,BUT,问题来了: 严重: Servlet.service() ...

  7. Android与.Net交互模拟用户屏幕操作添加APN和网络4G/3G切换

    前几天接到一个需求,我们的客户需要对手机网络接入点进行可用性测试,简单点说就是需要实现Android上的APN配置的添加,APN切换网络模式4G/3G/2G切换,我要调研下写个demo. 因为是要实现 ...

  8. 分享两个模拟get和post方法的工具类,让应用能够与服务器进行数据交互

    很久没有码字了,今天跟大家分享一个模拟get和post方法的工具类,在安卓应用中很多都需要跟服务器进行数据交互,这需要两方面的配合,首先服务器端会给应用提供一些数据交互的接口,可是怎样在应用中去调用呢 ...

  9. JSON数据格式以及与后台交互数据转换实例

    /* 作者:烟大阳仔 时间:20131013 介绍:主要了解一下json的格式,看看数据是怎么存储的 */ <!DOCTYPE html PUBLIC "-//W3C//DTD HTM ...

  10. lua与C/C++交互

    Lua设计小巧很容易与C/C++进行交互,下面我们具体讲解C/C++中如何调用lua,而lua中又如何调用C代码. 首先lua和C交互的一个重要的数据结构lua_State,它是进行数据交换的堆栈,按 ...

随机推荐

  1. python中动态生成类type的用法

    示例:正常创建类 class Person(object): def __init__(self): self.name = name self.age = age p = Person(" ...

  2. 【Azure 服务总线】使用Azure Service Bus 时,出现证书错误: 所使用的证书具有无法验证的信任链

    问题描述 在Azure中连接 Service Bus 服务发送消息时发生证书错误,抛出证书异常消息: 或 The X.509 certificate CN=servicebus.chinaclouda ...

  3. 【Azure 事件中心】 Event Grid(事件网格)+Azure Functions处理IOT Hub中的消息

    问题描述 使用IOT Hub的Events功能,使用Event Grid(事件网格)订阅IOTHub状态消息,发送到Azure Functions.那如何来创建Event Grid触发的Functio ...

  4. Java 重写引入

    1 package com.bytezero.override; 2 /* 3 * 方法的重新(override/overwrite) 4 * 5 * 1.重写:子类继承父类以后,可以对父类中同名同参 ...

  5. C++ STL函数对象 仿函数

    1 //STL函数对象 仿函数 2 #include<iostream> 3 #include<string> 4 5 using namespace std; 6 7 8 / ...

  6. 18 Codeforces Round 853 (Div. 2)C. Serval and Toxel's Arrays(算贡献)

    C. Serval and Toxel's Arrays 这种题目做多了应该很容易从贡献的角度去考虑了. 考虑当前版本对答案的贡献,首先这个版本和其他版本取交集至少会包含它本身所以直接先把\(i * ...

  7. MySQL学习之初识数据库

    •数据库的相关概念 DB : 数据库,保存一组有组织的数据的容器 DBMS : 数据库管理系统,又称为数据库软件(产品),用于管理 DB 中的数据 SQL : 结构化查询语言,用于和 DBMS 通信的 ...

  8. Django进阶之路由层和视图层

    Django的路由系统 [1]什么是URL配置(URLconf) URL调度器 | Django 文档 | Django (djangoproject.com) URL配置(URLconf)就像Dja ...

  9. 2FA双因素认证 - TOTP详解

    主页 个人微信公众号:密码应用技术实战 个人博客园首页:https://www.cnblogs.com/informatics/ 引言 在2FA双因素认证中,TOTP可谓是标准化程度最高的技术方案.它 ...

  10. Jetpack Compose(3) —— 状态管理

    上一篇文章拿 TextField 组件举例时,提到了 State,即状态.本篇文章,即讲解 State 的相关改概念. 一.什么是状态 与其它声明式 UI 框架一样,Compose 的职责非常单纯,仅 ...