题目传送门

题意:

你可以询问一个三维坐标,机器会告诉你这个坐标在不在目标圆中,

并且(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. 回收卫星的更多相关文章

  1. 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 秒 内存限制:  ...

  2. EOJ Monthly 2019.2

    题解 A 回收卫星 #pragma GCC optimize(2) #pragma GCC optimize(3) #pragma GCC optimize(4) #include<bits/s ...

  3. 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( ...

  4. EOJ Monthly 2019.2 (based on February Selection) F.方差

    题目链接: https://acm.ecnu.edu.cn/contest/140/problem/F/ 题目: 思路: 因为方差是用来评估数据的离散程度的,因此最优的m个数一定是排序后连续的,所以我 ...

  5. EOJ Monthly 2019.2 (based on February Selection) D.进制转换

    题目链接: https://acm.ecnu.edu.cn/contest/140/problem/D/ 题目: 思路: 我们知道一个数在某一个进制k下末尾零的个数x就是这个数整除kx,这题要求刚好末 ...

  6. EOJ Monthly 2019.2 (based on February Selection) D 进制转换 【数学 进制转换】

    任意门:https://acm.ecnu.edu.cn/contest/140/problem/D/ D. 进制转换 单测试点时限: 2.0 秒 内存限制: 256 MB “他觉得一个人奋斗更轻松自在 ...

  7. EOJ Monthly 2019.1 唐纳德先生与这真的是签到题吗 【数学+暴力+multiset】

    传送门:https://acm.ecnu.edu.cn/contest/126/ C. 唐纳德先生与这真的是签到题吗 单测试点时限: 6.0 秒 内存限制: 1024 MB 唐纳德先生在出月赛的过程中 ...

  8. EOJ Monthly 2019.3 A

    A. 钝角三角形 单点时限: 3.0 sec 内存限制: 512 MB QQ 小方以前不会判断钝角三角形,现在他会了,所以他急切的想教会你. 如果三角形的三边长分别为 a, b, c (a≤b≤c), ...

  9. eoj monthly 2019.11

    原题 T1 纸条 题目大意: 给出一个长度为n的字符串,其中m位未知,对于每一位未知的字母,有k个备选字母,最终答案为备选字母按字典序排序后的第x个. 题解: 签到题-- 按照题目意思直接写就可以了. ...

随机推荐

  1. CSS3——PC以及移动端页面适配方法(响应布局)

    响应布局就是不同宽度应用不同的样式块,每个样式块对应的是该宽度下的布局方式,从而使页面适应不同宽度. <!DOCTYPE html> <html lang="en" ...

  2. flex的12个属性

    容器(父元素)的属性: flex-direction属性决定主轴的方向 flex-wrap 属性决定项目在一行排不下的情况下是否换行 flex-flow flex-flow属性是flex-direct ...

  3. Flink Forward Asia 2019 - 总结和展望(附PPT下载链接)

    11 月 28 - 30 日,北京迎来了入冬以来的第一场雪,2019 Flink Forward Asia(FFA)也在初雪的召唤下顺利拉开帷幕.尽管天气寒冷,FFA 实际到会人次超过 2000,同比 ...

  4. sass、less中的scoped属性

    1.scoped 的实现原理 Vue中的Less 中的 scoped 属性的效果主要是通过 PostCss 实现的.代码示例: //编译前 <template> <div class ...

  5. web移动端适配方案

    web移动端常用解决方案: 一.通过js+rem,这里有一个解决方案(http://imochen.github.io/hotcss/) 1.1.rem兼容性(https://caniuse.com) ...

  6. 一本通&&洛谷——P1120 小木棍 [数据加强版]——题解

    题目传送 一道特别毒瘤能提醒人不要忘记剪枝的题. 首先不要忘了管理员的话.忘把长度大于50的木棍过滤掉真的坑了不少人(包括我). 显然是一道DFS题 .考虑剪枝. 找找搜索要面临的维度.状态:原始木棍 ...

  7. Android ListView焦点事件冲突问题与解决

    Android ListView对于单纯列表展示是很好用的,但是一旦牵扯到对listView进行操作就会遇到各种各样的问题.比如保存Checkbox状态与item复用的冲突.遇到可获取焦点的控件比如说 ...

  8. 虚拟主机支持apk

    扩展名中填写.apk MIME类型中填写apk的MIME类型  application/vnd.android.package-archive

  9. python异常处理(try-except)

    什么是异常? 异常即是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行. 一般情况下,在Python无法正常处理程序时就会发生一个异常. 异常是Python对象,表示一个错误. 当Pyth ...

  10. CGI FastCGI WSGI 解析

    我们将服务端程序分为了web服务器和应用程序服务器. web服务器是用于处理HTML文件,让客户可以通过浏览器进行访问.主流的有apache,IIS,nginx,lghttpd等. 应用服务器处理业务 ...