交互题就是程序与电脑代码的交互。

比如没有主函数的程序,而spj则给你一段主函,就变成了一个整体函数。

还有一种就是程序和spj之间有互动,这个用到fflush(stdout);这个函数就可以实现交互了

fflush(stdin)

  作用:清理标准输入流,把多余的未被保存的数据丢掉

fflush(stdout)

  作用:清空输出缓冲区,并把缓冲区内容输出

CF1103B Game with modulo

题意:有一个需要你猜的数a,你每次可以猜两个数,如果x%a>=y%a,则返回x,否则返回y。你最多可以猜60次。

这很明显是个二分,所以这大概是道交互题练手题

#include<bits/stdc++.h>
using namespace std;
char s[20], s1[20];
int main() {
while ((~scanf("%s", s)) && s[0] == 's') {
int x = 0, y = 1;
while (true) {
printf("? %d %d\n", x, y);
fflush(stdout);
scanf("%s", s1);
if (s1[0] == 'x')
break;
x = y, y = y * 2 + 1;
}
int mid, l = x, r = y;
while (l + 1 < r) {
mid = l + r >> 1;
printf("? %d %d\n", l, mid);
fflush(stdout);
scanf("%s", s1);
if (s1[0] == 'x')
r = mid;
else
l = mid;
}
if (l == 0) {
printf ("! 1\n");
fflush(stdout);
continue;
}
printf("? %d %d\n", r, r + 1);
fflush(stdout);
scanf("%s", s1);
if (s1[0] == 'x')
r --;
printf("! %d\n",r);
fflush(stdout);
}
return 0;
}

CF1019B The hat

又是b题(我就只能做做b题,我太菜了QWQ)

#include <bits/stdc++.h>
using namespace std;
int n, t, r, mid, l;
inline int find (int x) {
printf("? %d\n", x + 1);
fflush(stdout);
scanf("%d", &x);
return x;
}
int main() {
scanf("%d", &n);
t = n / 2;
if (t & 1) {
printf("! -1\n");
return 0;
}
r = n - 1;
while (l < r) {
mid = l + r >> 1;
if (find(mid) - find((mid + t) % n) >= 0)
r = mid;
else
l = mid + 1;
}
printf("! %d", l + 1);
fflush(stdout);
return 0;
}

  

CF896B Ithea Plays With Chtholly

还是B题2333

#include <bits/stdc++.h>
using namespace std;
int a[1005], n, m, c, x;
int main() {
scanf("%d%d%d", &n, &m, &c);
int i;
while(m --) {
scanf("%d", &x);
if(x > c / 2)
for (i = n; a[i] >= x; -- i);
else
for (i = 1; a[i] && a[i] <= x; ++ i);
printf("%d\n", i);
fflush(stdout);
a[i] = x;
for (i = 1; i <= n && a[i]; ++ i);
if (i > n)
break;
}
return 0;
}

  

交互题[CF1103B Game with modulo、CF1019B The hat、CF896B Ithea Plays With Chtholly]的更多相关文章

  1. Codeforces 897D. Ithea Plays With Chtholly (交互)

    题目链接:D. Ithea Plays With Chtholly 题意: 给你n张纸,在纸上写字(在 1 - c之间)可以写m次数 (,).(主要是交互,让你判断) 题解: 首先,看到m>=n ...

  2. D. Game with modulo 交互题(取余(膜)性质)附带a mod b<a/2证明

    D. Game with modulo 交互题(取余(膜)性质) 题意 猜一个点\(a\)可以向机器提问 点对\((x,y)\) 如果\(x\mod(a)>=y\mod(a)\)回答\(x\) ...

  3. CF1114E Arithmetic Progression(交互题,二分,随机算法)

    既然是在CF上AC的第一道交互题,而且正是这场比赛让我升紫了,所以十分值得纪念. 题目链接:CF原网 题目大意:交互题. 有一个长度为 $n$ 的序列 $a$,保证它从小到大排序后是个等差数列.你不知 ...

  4. Codeforces 1137D - Cooperative Game - [交互题+思维题]

    题目链接:https://codeforces.com/contest/1137/problem/D 题意: 交互题. 给定如下一个有向图: 现在十个人各有一枚棋子(编号 $0 \sim 9$),在不 ...

  5. Gym - 101375H MaratonIME gets candies 交互题

    交互题介绍:https://loj.ac/problem/6 题意:输出Q X ,读入><= 来猜数,小于50步猜出就算过样例 题解:根本不需要每次输出要打cout.flush()... ...

  6. Codeforces Round #523 (Div. 2) F. Katya and Segments Sets (交互题+思维)

    https://codeforces.com/contest/1061/problem/F 题意 假设存在一颗完全k叉树(n<=1e5),允许你进行最多(n*60)次询问,然后输出这棵树的根,每 ...

  7. Codeforces Round #371 (Div. 2) D. Searching Rectangles 交互题 二分

    D. Searching Rectangles 题目连接: http://codeforces.com/contest/714/problem/D Description Filya just lea ...

  8. 2010-2011 ACM-ICPC, NEERC, Moscow Subregional Contest Problem K. KMC Attacks 交互题 暴力

    Problem K. KMC Attacks 题目连接: http://codeforces.com/gym/100714 Description Warrant VI is a remote pla ...

  9. [CF1103B]Game with modulo

    题目大意:交互题,有一个数$a(a\leqslant10^9)$,需要猜出它的值,一次询问为你两个数字$x,y(x,y\in[0,2\times10^9])$: 若$x\bmod a\geqslant ...

随机推荐

  1. JAVA项目从运维部署到项目开发(三.Redis)

    一.Redis的介绍 Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.它通常被称为数据结构服务器,因为值(va ...

  2. 网上都没有提到的教程:python捕获异常后,怎么输出错误文件和行号

    1.假设输出不存在的变量 a try: print(a) except NameError as e: print('发生错误的文件:', e.__traceback__.tb_frame.f_glo ...

  3. Linux中Apache服务器的简单配置

    配置Apache服务器: 1.安装Apache,可以参考Linux 中yum的配置来安装: yum install http* -y 2.修改SELinux: setenforce 0 查看: 3.防 ...

  4. Cherrypy文件上传非ASCII文件名乱码问题解决

    Cherrypy 版本: 18.0.1 由于某些特殊原因(可能是与标准兼容的问题),Cherrypy对上传文件的原文件名使用 ISO-8859-1 编码方式解码,导致非 ASCII 的文件名显示为乱码 ...

  5. c/c++ linux 进程间通信系列4,使用共享内存

    linux 进程间通信系列4,使用共享内存 1,创建共享内存,用到的函数shmget, shmat, shmdt 函数名 功能描述 shmget 创建共享内存,返回pic key shmat 第一次创 ...

  6. MFC映射

    所有CDC输出函数最终都会输出到物理平面(屏幕窗口.打印纸等).这些物理平面的单位量化往往多种多样,比如像素.打印点.英寸.毫米等等.这样可能会造成很多混乱,所以CDC输出对所有物理平面进行统一抽象化 ...

  7. 【记录】IntelliJ IDEA—IDEA2018-2019激活

    摘要 最智能的java ide [有能力请支持正版]     1.将 0.0.0.0 account.jetbrains.com 和 0.0.0.0 www.jetbrains.com添加到 host ...

  8. Git命令行管理代码、安装及使用

    出处:https://www.cnblogs.com/ximiaomiao/p/7140456.html Git安装和使用     目的:通过Git管理github托管项目代码 一.下载安装Git 1 ...

  9. day20-多并发编程基础(一)

    重新写一下吧,系统奔溃了,以前写的完全没了,悲催,今日主要写进程 1. 进程的理论知识 2. python中的进程操作 开始今日份整理,加油,你是最胖的!!! 1. 进程的理论知识 1.1 操作系统的 ...

  10. js 获取纯web地址栏中URL传参

       function GetQueryString(name)    {         var reg = new RegExp("(^|&)"+ name +&quo ...