EOJ Monthly 2019.2 A. 回收卫星
题意:
你可以询问一个三维坐标,机器会告诉你这个坐标在不在目标圆中,
并且(0,0,0)是一定在圆上的,叫你求出圆心坐标
思路:
因为(0,0,0)一定在圆上,所以我们可以把圆心分成3个坐标轴上
就是求x的时候,其他坐标都为0,而且可以确定一个在x的正半轴,一个
在负半轴,所以我们可以二分求出
另外注意数据(l+r)是数据会超过long long
代码:
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll INF=4e9; void ask(ll x,ll y,ll z)
{
printf("0 %lld %lld %lld\n",x,y,z);
fflush(stdout);
}
ll xx0()
{
ll l=-INF,r=;
ll op,ans;
while(l<=r)
{
ll mid=(l+r)>>;
ask(mid,,);
scanf("%d",&op);
if(op==)
l=mid+;
else r=mid-,ans=mid;
}
return ans;
}
ll xx1()
{
ll l=,r=INF;
ll op,ans;
while(l<=r)
{
ll mid=l+r>>;
ask(mid,,);
scanf("%d",&op);
if(op==)
r=mid-;
else l=mid+,ans=mid;
}
return ans;
}
ll yy0()
{
ll l=-INF,r=;
ll op,ans;
while(l<=r)
{
ll mid=l+r>>;
ask(,mid,);
scanf("%d",&op);
if(op==)
l=mid+;
else r=mid-,ans=mid;
}
return ans;
}
ll yy1()
{
ll l=,r=INF;
ll op,ans;
while(l<=r)
{
ll mid=l+r>>;
ask(,mid,);
scanf("%d",&op);
if(op==)
r=mid-;
else l=mid+,ans=mid;
}
return ans;
}
ll zz0()
{
ll l=-INF,r=;
ll op,ans;
while(l<=r)
{
ll mid=l+r>>;
ask(,,mid);
scanf("%d",&op);
if(op==)
l=mid+;
else r=mid-,ans=mid;
}
return ans;
}
ll zz1()
{
ll l=,r=INF;
ll op,ans;
while(l<=r)
{
ll mid=l+r>>;
ask(,,mid);
scanf("%d",&op);
if(op==)
r=mid-;
else l=mid+,ans=mid;
}
return ans;
}
int main()
{
ll x0,y0,x1,y1,z0,z1;
x0=xx0();
x1=xx1();
y0=yy0();
y1=yy1();
z0=zz0();
z1=zz1();
printf("1 %lld %lld %lld\n",(x0+x1)/,(y0+y1)/,(z0+z1)/); return ;
}
#include<bits/stdc++.h> #define ll long long using namespace std; const ll INF=2e9; ll a[]; void ask(int tp,int m) { for(int i=; i<=; i++)a[i]=; a[tp]=m; printf("0 %lld %lld %lld\n",a[],a[],a[]); fflush(stdout); } ll go(int tp) { ll l=,r=INF,mid,ans1=,ans2=; int op; while(l<=r) { mid=l+(r-l)/; ask(tp,mid); scanf("%d",&op); if(op)l=mid + ,ans1 = mid; else r=mid - ; } l=-INF,r=; while(l<=r) { mid=l+(r-l)/; ask(tp,mid); scanf("%d",&op); if(op)r=mid-,ans2 = mid; else l=mid+; } return (ans1+ans2)/; } int main() { ll x,y,z; x=go(); y=go(); z=go(); printf("1 %lld %lld %lld\n",x,y,z); return ; }
EOJ Monthly 2019.2 A. 回收卫星的更多相关文章
- EOJ Monthly 2019.2 题解(B、D、F)
EOJ Monthly 2019.2 题解(B.D.F) 官方题解:https://acm.ecnu.edu.cn/blog/entry/320/ B. 解题 单测试点时限: 2.0 秒 内存限制: ...
- EOJ Monthly 2019.2
题解 A 回收卫星 #pragma GCC optimize(2) #pragma GCC optimize(3) #pragma GCC optimize(4) #include<bits/s ...
- EOJ Monthly 2019.11 E. 数学题(莫比乌斯反演+杜教筛+拉格朗日插值)
传送门 题意: 统计\(k\)元组个数\((a_1,a_2,\cdots,a_n),1\leq a_i\leq n\)使得\(gcd(a_1,a_2,\cdots,a_k,n)=1\). 定义\(f( ...
- EOJ Monthly 2019.2 (based on February Selection) F.方差
题目链接: https://acm.ecnu.edu.cn/contest/140/problem/F/ 题目: 思路: 因为方差是用来评估数据的离散程度的,因此最优的m个数一定是排序后连续的,所以我 ...
- EOJ Monthly 2019.2 (based on February Selection) D.进制转换
题目链接: https://acm.ecnu.edu.cn/contest/140/problem/D/ 题目: 思路: 我们知道一个数在某一个进制k下末尾零的个数x就是这个数整除kx,这题要求刚好末 ...
- EOJ Monthly 2019.2 (based on February Selection) D 进制转换 【数学 进制转换】
任意门:https://acm.ecnu.edu.cn/contest/140/problem/D/ D. 进制转换 单测试点时限: 2.0 秒 内存限制: 256 MB “他觉得一个人奋斗更轻松自在 ...
- EOJ Monthly 2019.1 唐纳德先生与这真的是签到题吗 【数学+暴力+multiset】
传送门:https://acm.ecnu.edu.cn/contest/126/ C. 唐纳德先生与这真的是签到题吗 单测试点时限: 6.0 秒 内存限制: 1024 MB 唐纳德先生在出月赛的过程中 ...
- EOJ Monthly 2019.3 A
A. 钝角三角形 单点时限: 3.0 sec 内存限制: 512 MB QQ 小方以前不会判断钝角三角形,现在他会了,所以他急切的想教会你. 如果三角形的三边长分别为 a, b, c (a≤b≤c), ...
- eoj monthly 2019.11
原题 T1 纸条 题目大意: 给出一个长度为n的字符串,其中m位未知,对于每一位未知的字母,有k个备选字母,最终答案为备选字母按字典序排序后的第x个. 题解: 签到题-- 按照题目意思直接写就可以了. ...
随机推荐
- zip(), dict(), itertools.repeat(), list(迭代器)
*. zip(), dict() def demo_zip_dict(): keys = ['a', 'b', 'c'] values = [1, 2, 3] entrys = zip(keys, v ...
- unittest----skip(跳过用例)
我们在执行测试用例时,有时有些用例时不需要执行的,这时就需要用到unittest给我们提供的跳过用例的方法 @unittest.skip(reason):强制跳过,不需要判断条件.reason是跳过原 ...
- mysql分组排序加序号(不用存储过程,就简简单单sql语句哦)
做前端好长时间了,好久没动sql了.在追一个喜欢的女孩,做测试的,有这么个需求求助与本屌丝,机会难得,开始折腾起来,配置mysql,建库,建表.... 一 建表 CREATE TABLE `my_te ...
- Android App学习计划
模块化 Json Gson Fastjson Jackson EventBus GreenDao Flutter ButterKnife Dagger okhttp Rxjava/Rxandroid ...
- linux文件系统的类型
文件系统的类型 兄弟连介绍-Linux有四种基本文件系统类型:普通文件.目录文件.连接文件和特殊文件,可用file命令来识别. 普通文件:如文本文件.C语言元代码.SHELL脚本.二进制的可执行文件等 ...
- SpringBoot整合knife4j
官网说明及用法: 简介 swagger-bootstrap-ui是springfox-swagger的增强UI实现,为Java开发者在使用Swagger的时候,能拥有一份简洁.强大的接口文档体验 核心 ...
- Leetcode 4. Median of Two Sorted Arrays(中位数+二分答案+递归)
4. Median of Two Sorted Arrays Hard There are two sorted arrays nums1 and nums2 of size m and n resp ...
- 转载--C++的反思
转载自http://blog.csdn.net/yapian8/article/details/46983319 最近两年 C++又有很多人出来追捧,并且追捧者充满了各种优越感,似乎不写 C++你就一 ...
- fedora如何使用themes主题?
DBus: 是一个 local 的IPC 进程间通信机制 如果是(一对一) 多对多的通信, 则DBUS 后台充当了一个路由器的角色. ibus: 是包含: python gtk dbus的 scim- ...
- tjuthesis 图标题左对齐修改办法
图标题格式默认是居中的. 将 format 文件里定义图表标题样式部分的 \centering 删去,可变为左对齐. 如下: %% 定制浮动图形和表格标题样式\makeatletter\long\de ...