当前位置: 首页 > news >正文

交互题

有时你会在编程比赛里遇到交互题(包括CF)

在这种问题中,输入的数据可能不是预先定好的,但是是为你的解答量身定做的。

评测人写了一个特殊的程序——interactor,这样它的输出对应着你的程序的输入,而你的输出又对映着它的输入。

换句话说,你的程序和 interactor 交换数据,而我的输出基于程序间的“历史交流记录”。

一般人为检验交互题的解答会远远难于常题,因为参与者要在检验过程中扮演 interactor 的角色。

 

一般 oi 场上的交互题都是使用 Grader 交互 和 stdio 交互。

stdio


对于这类题目,选手只需像往常一样将询问写到标准输出,刷新输出缓冲 后从标准输入读取结果。

选手程序刷新输出缓冲后,通过管道连接它的测评程序(称为交互器)才能立刻接收到这些数据。

因为如果你输出了一些数据,这些数据可能被放置于内部缓存区里,而且或许没有被直接传输给 interactor。

为了避免这种情况的发生,你需要每次输出时用一种特殊的清除缓存操作。

你可以使用如下语句来清空缓冲区:

- 对于 C/C++:`fflush(stdout)`;
- 对于 C++:`std::cout << std::flush`;
- 对于 Java:`System.out.flush()`;
- 对于 Python:`stdout.flush()`;
- 对于 Pascal:`flush(output)`;
- 对于其他语言,请自行查阅对应语言的帮助文档。

特别的,对于 C++ 语言,在输出换行时如果你使用 `std::endl` 而不是 `'\n'`,也可以自动刷新缓冲区。**建议使用`std::endl`以避免忘记输出换行。**

然后你需要从**标准输入**中输入一个整数,代表评测机返回的结果。

交互题的输入输出远远小于其他题——尽量用 scanf/printf 代替 cin/cout。

 

IO 交互板子

#include <bits/stdc++.h>
using namespace std;int L=1, R=1000000000, x;
int main()
{while (L<=R){int mid=L+R>>1;printf("%d\n", mid), fflush(stdout);scanf("%d", &x);if (x==0){printf("%d\n", mid), fflush(stdout);break;}else if (x==1) R=mid-1;else L=mid+1;} return 0;
}

  

 

http://www.jsqmd.com/news/18684/

相关文章:

  • 尝试理解FunctionalInterface
  • 2025 年防淹门源头厂家最新推荐排行榜权威发布,含地铁 / 防洪 / 地下通道专用款,15 项专利 + 央视报道品牌领衔
  • 一文带你掌握Visual Studio中集成的git功能
  • 2025年手持光谱仪厂家权威推荐榜:光谱分析仪/便携式光谱仪、矿石元素分析、合金金属不锈钢铝合金、贵金属三元催化检测设备精选
  • iOS 混淆实战 多工具组合完成 IPA 混淆、加固与工程化落地(iOS混淆|IPA加固|无源码混淆|Ipa Guard|Swift Shield)
  • 单提交智能评审上线!用云效精准定位复杂 MR 代码问题
  • ubuntu安装nvidia驱动 - Leonardo
  • 十五、深入理解 SELinux - 指南
  • 2025 年少儿英语品牌口碑排行榜最新发布:欧美外教 + 原版教材甄选,含最新推荐及靠谱选择指南
  • GitLab小坑:remote: GitLab: You are not allowed to create protected branches on this project.
  • 使用StockTV数据源对接美国股票数据
  • 构筑平安工地新防线:国标GB28181算法算力平台EasyGBS的平安工地解决方案
  • 2025 年国内控制柜生产厂家最新推荐排行榜:聚焦技术实力与 OEM 服务能力专业测评解析
  • 服务器运维(一)linux进程指令大全——东方仙盟筑基期 - 指南
  • 2025年滑石粉厂家推荐排行榜,纳米级滑石粉,工业级滑石粉,黑色滑石粉,高白滑石粉,化妆品级滑石粉,食品级滑石粉,表面改性滑石粉,大片径比滑石粉,低收缩率滑石粉,高填充母粒滑石粉
  • 自动化智能体与测试用例生成
  • 2025年粘度计厂家权威推荐榜:在线旋转振动/实验室反应釜管线在线粘度计,专业选型指南与技术创新深度解析
  • jdk8安装
  • 2025 年试验箱厂家最新推荐排行榜:涵盖高低温 / 恒温恒湿 / 冷热冲击等设备,精选实力厂商助力企业选购
  • Linux网络编程——UdpServer - 实践
  • 一键解锁!Air8000 Wi-Fi助物联网设备秒变文件服务器
  • C语言中unsigned
  • 解码Linux文件IO之触摸屏原理及应用
  • 2025年最新游戏机和游艺机的屏幕驱动方案(含音乐播放和功放芯片)
  • 2025 年最新推荐!国内加工厂家排行榜:含车铣复合 / 精密零件 / CNC 车床等领域优质企业
  • 2025年精密球轴承厂家权威推荐榜:半导体设备/加工中心/机床主轴/直联主轴/电主轴/定制/国产高端/不锈钢/陶瓷/耐腐蚀/超高真空/真空泵/晶圆搬运机械手臂/进口替代/国产半导体/低温泵轴承精选
  • 【安徽财经大学主办】第七届管理科学信息化与经济创新发展国际学术会议 (MSIEID 2025)
  • 2025 盐城美术培训机构最新推荐榜单:涵盖全龄段课程 + 4A 信用单位,优质机构助你精准选课
  • 2025年冷水机组厂家权威推荐榜:水冷螺杆/风冷螺杆/水冷式/风冷式/螺杆式冷水机专业选购指南
  • 再看 AI 网关:助力 AI 应用创新的关键基础设施