2023ccpc重庆站女生专场B.终焉之茧(交互题)

2023 c c p c 重庆站女生专场 B . 终焉之茧 \Huge{2023ccpc重庆站女生专场B.终焉之茧} 2023ccpc重庆站女生专场B.终焉之茧

文章目录

    • 题意
    • 思路
    • 标程

题目链接:B. 终焉之茧

题意

给定一个无限大的平面,终焉之茧坐标为 [ x 0 , y 0 ] [x_0,y_0] [x0,y0],数据保证 − 1 0 3 ≤ x 0 , y 0 ≤ 1 0 3 -10^3\le x_0,y_0 \le 10^3 103x0,y0103

初始会给出终焉之茧与 [ 0 , 0 ] [0,0] [0,0]坐标的距离 f ( d ) = ( x − x 0 ) 2 + ( y − y 0 ) 2 f(d)=(x-x_0)^2+(y-y_0)^2 f(d)=(xx0)2+(yy0)2

然后我们可以查询至多30次:

  • dx dy:将当前坐标 [ x , y ] [x,y] [x,y]移动到 [ x + d x , y + d y ] [x+dx,y+dy] [x+dx,y+dy],然后会返回当前坐标距离终焉之茧的距离 f ( d ) f(d) f(d)
  • 若距离 f ( d ) = 0 f(d)=0 f(d)=0时,表示找到终焉之茧,结束!
  • − 2000 ≤ d x , d y ≤ 2000 -2000 \le dx,dy \le 2000 2000dx,dy2000

思路

  • 根据 x 0 , y 0 , d x , d y x_0,y_0,dx,dy x0,y0,dx,dy的数据范围,可知平面大小实际上为 − 1000 ≤ x , y ≤ 1000 -1000 \le x,y \le 1000 1000x,y1000,意味着每次可以到达平面任意一点。
  • 我们可以考虑分别二分 x , y x,y x,y,然后就可以在 2 × log ⁡ 2 2000 2 \times \log_{2}{2000} 2×log22000次查询内找到终焉之茧。

标程

#define int long long
int nowx, nowy;
int ask(int x, int y) {//因为查询时不是直接查坐标,而是移动距离,所以要减去当前坐标cout << x - nowx << ' ' << y - nowy << endl; fflush(stdout);nowx = x, nowy = y;int z; cin >> z;return z;
}
void Solved() {int d, mid, l = -1000, r = 1000;cin >> d;if(!d) return;int d1 = ask(-1000, 0);if(!d1) return;int d2 = ask(1000, 0);if(!d2) return;while(l < r) {//查找坐标x的位置if(d1 < d2) {mid = l + r >> 1;d2 = ask(mid, nowy);if(!d2) return;r = mid;} else if(d1 > d2) {mid = l + r + 1 >> 1;d1 = ask(mid, nowy);if(!d1) return;l = mid;} else {mid = l + r >> 1;if(ask(mid, nowy) == 0) return;break;}}l = -1000, r = 1000;d1 = ask(nowx, -1000);if(!d1) return;d2 = ask(nowy, 1000);if(!d2) return;while(l < r) {//查找坐标y的位置if(d1 < d2) {mid = l + r >> 1;d2 = ask(nowx, mid);if(!d2) return;r = mid;} else if(d1 > d2) {mid = l + r + 1 >> 1;d1 = ask(nowx, mid);if(!d1) return;l = mid;} else {mid = l + r >> 1;if(ask(nowx, mid) == 0) return;break;}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/7644.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【牛客】Tokitsukaze and Average of Substring

原题链接&#xff1a;登录—专业IT笔试面试备考平台_牛客网 目录 1. 题目描述 2. 思路分析 3. 代码实现 1. 题目描述 2. 思路分析 前缀和。 开一个int类型的前缀和数组pre[30][N]&#xff08;pre[i][j]表示某字符转成的数字 i 在一段区间的前缀个数。因为字母表有‘a’~z…

git stash 工作中常用命令记录

save 可省略, 则使用最近一次的提交记录的描述来存储 git stash save “暂存内容描述” 查看暂存列表 git stash list 获取/使用 但不删除 本次暂存内容 git stash apply 默认第一个使用其他则追加 stash{number} 即可, 例如,使用第三个(从0开始) git stash apply stash{2} 获取…

理解Oracle闪回级别【Oracle闪回技术】(一)

Oracle闪回技术是数据恢复技术&#xff0c;具有恢复时间快&#xff0c;不适用备份文件。可以使数据库回到某个状态。 可以满足用户的逻辑处理的快速恢复。 但是闪回技术只是逻辑数据恢复&#xff0c;如果是数据文件损坏&#xff0c;必须依赖介质才能恢复。 闪回技术的特性&…

腾讯的EdgeONE是什么?

腾讯的EdgeONE是一项边缘计算解决方案&#xff0c;具有一系列优势&#xff1a; 边缘计算能力强大&#xff1a;EdgeONE利用腾讯云在全球范围内的分布式基础设施&#xff0c;提供强大的边缘计算能力&#xff0c;可以实现低延迟和高可用性的服务。 智能化和自动化&#xff1a;Edg…

深度学习训练八股

一、模型中的函数的定义 1.torchmetrics.AUROC &#xff08;1&#xff09;.binary >>> from torch import tensor >>> preds tensor([0.13, 0.26, 0.08, 0.19, 0.34]) >>> target tensor([0, 0, 1, 1, 1]) >>> auroc AUROC(task&quo…

Nessus 部署实验

一、下载安装https://www.tenable.com/downloads/nessus 安装好之后&#xff0c;Nessus会自动打开浏览器&#xff0c;进入到初始化选择安装界面&#xff0c;这里我们要选择 Managed Scanner 点击继续&#xff0c;下一步选择Tenable.sc 点击继续&#xff0c;设置用户名和密码 等…

HSP_06章_Python_函数

文章目录 P67 函数入门1. 基本语法2. 函数的调用3. 函数的注意事项和使用细节 P71 递归机制1. 基本介绍2.递归能解决什么问题3. 递归的重要规则 P72 函数作为参数传递P73 lambda匿名函数P74 全局变量和局部变量 P67 函数入门 1. 基本语法 2. 函数的调用 3. 函数的注意事项和使…

浅谈操作系统中的重要概念——线程(3)——设计模式

文章目录 一、什么是设计模式&#xff1f;二、单例模式2.1、饿汉模式2.2、懒汉模式2.3、多线程情况下调用 饿汉模式与懒汉模式 谁是安全的&#xff1f;&#xff1f;&#xff08;重点&#xff09; 三、工厂模式 一、什么是设计模式&#xff1f; 设计模式就相当于菜谱&#xff0…

虚拟机文件夹共享操作(本地访问)

新建一个文件夹 右击文件夹点击属性 找到共享 点击共享 选择本地用户共享就可以了 本地winr 输入我们图片中的格式&#xff08;IP前加 “\\” &#xff09; 会弹一个窗口&#xff0c;输入虚拟机的入户名和密码就可以共享了&#xff08;一般默认用户名都是administrator&am…

2.3.1 语言大模型的预训练

模块化大模型 接口安全&#xff1a; 模块化设计意味着不同的模块需要通过定义良好的接口进行交互。如果这些接口没有得到适当保护&#xff0c;它们可能成为攻击者的攻击目标&#xff0c;攻击者可以通过这些接口注入恶意数据或提取敏感信息。 数据泄露风险&#xff1a; 在模块化…

C++笔记:类与对象(三)->多态

多态 虚函数 先来看一段代码&#xff1a; #include<iostream> using namespace std;class Animal { public :void run() {cout << "I dont know how to run" << endl;} };class Cat : public Animal{ public :void run() {cout << "I …

【毕业设计】基于微信小程序的校园快递平台系统设计与实现

1.项目介绍 如今社会上各行各业&#xff0c;都喜欢用自己行业的专属软件工作&#xff0c;互联网发展到这个时候&#xff0c;人们已经发现离不开了互联网。新技术的产生&#xff0c;往往能解决一些老技术的弊端问题。因为传统校园快递平台系统信息管理难度大&#xff0c;容错率…

让我们把Domino变成SFTP服务器

大家好&#xff0c;才是真的好。 远程共享文件有很多办法&#xff0c;其中值得注意的是SFTP方式。SFTP即SSH文件传输协议&#xff0c;通过使用SSH传输层&#xff0c;SFTP可以通过Internet连接安全地访问和移动大量数据文件。 今天我们就介绍使用Domino中的HTTP OSGI方式来实现…

AI代理:未来技术的革命者

在人工智能的众多分支中&#xff0c;AI代理&#xff08;AI Agent&#xff09;无疑是最具变革性的一环。这种高级软件系统能自主完成任务&#xff0c;模仿人类决策过程来优化和执行复杂的工作流程。 它们的智能不仅限于执行固定指令&#xff0c;更能理解并智能响应复杂环境。从…

如何自己快速的制作流程图?6个软件教你快速进行流程图制作

如何自己快速的制作流程图&#xff1f;6个软件教你快速进行流程图制作 自己制作流程图可以是项目管理、流程设计或教学展示中的重要环节。以下是六款常用的流程图制作软件&#xff0c;它们都提供了快速、简单的方式来制作流程图&#xff1a; 迅捷画图&#xff1a;这是一款非…

Git 常用操作记录

keywords: Git, 版本控制 常用命令 功能命令添加文件/更改到暂存区git add filename添加所有文件/更改到暂存区git add .提交git commit -m msg从远程仓库拉取最新代码git pull origin master推送到远程仓库git push origin master查看配置信息git config --list查看文件列表…

【TensorFlow深度学习】加载经典数据集MNIST的实战步骤

加载经典数据集MNIST的实战步骤 1. 数据集概览2. 自动加载MNIST数据集3. 数据预处理4. 转换为TensorFlow Dataset对象5. 数据集的随机打散与批量处理6. 数据预处理函数的应用结语 在深度学习的实践中&#xff0c;加载经典数据集是入门及进阶学习不可或缺的一环。MNIST数据集作为…

Springboot集成feign远程调用

需求&#xff1a;在leadnews-wemedia微服务里需要调用leadnews-article微服务的接口。新建一个支持feign调用的名为heima-leadnews-feign-api的模块 heima-leadnews-feign-api的pom文件里导入openfeign依赖 <dependency><groupId>org.springframework.cloud</g…

echarts学习笔记:柱状图+雷达图+双环形图+地图可视化+数据传递关系图+关键词条图+数据总览图+AntV/G2/DataV

GitHub - lgd8981289/imooc-visualization: https://www.bilibili.com/video/BV1yu411E7cm/?vd_source391a8dc379e0da60c77490e3221f097a 课程源码 国内echarts镜像站&#xff1a;ISQQW.COM x ECharts 文档&#xff08;国内同步镜像&#xff09; - 配置项 echarts图表集&…