首页 > 其他分享 >A. Bitwise Operation Wizard

A. Bitwise Operation Wizard

时间:2024-06-17 18:22:23浏览次数:7  
标签:int Wizard cin Bitwise char printf Operation mins

原题链接

题解

1.坐标i,j中,一定有一个值为n-1
2.所以另外一个数就是n-1在二进制表示下0的位置变成1,1的位置变成0的数
3.如何找到最大值?答:自己和自己或找出最大的
4.如何找到另外一个数?答:找出和最大值或最大的,再找出这些数中最小的

code

#include<bits/stdc++.h>
using namespace std;

char query(int a,int b,int c,int d)
{
    printf("? %d %d %d %d\n",a,b,c,d);
    fflush(stdout);

    char x;
    cin>>x;
    fflush(stdout);
    return x;
}
int main()
{
    int t;
    cin>>t;
    while(t--)
    {
        int n;
        cin>>n;

        int maxs=0;
        for(int i=1;i<n;i++)
        {
            char res=query(maxs,maxs,i,i);
            if(res=='<')
            {
                maxs=i;
            }
        }

        vector<int> q;
        q.push_back(0);

        for(int i=1;i<n;i++)
        {
            int now=q[0];

            char res=query(now,maxs,i,maxs);
            if(res=='<')
            {
                q.clear();
                q.push_back(i);
            }
            else if(res=='=') q.push_back(i);
        }


        int mins=q[0];
        for(int i=1;i<q.size();i++)
        {
            char res=query(mins,mins,q[i],q[i]);

            if(res=='>')
            {
                mins=q[i];
            }
        }

        printf("! %d %d\n",mins,maxs);
    }
    return 0;
}

标签:int,Wizard,cin,Bitwise,char,printf,Operation,mins
From: https://www.cnblogs.com/pure4knowledge/p/18252973

相关文章

  • Makefile Operation
    ########################################################################################filename:Makefile#author:[email protected]#data:2024/06/14#function:项目中采用Makefile#note:None#......
  • [ABC176D] Wizard in Maze
    题目链接:https://atcoder.jp/contests/abc176/tasks/abc176_d双端队列bfs模版题.众所周知,用队列实现bfs,队列中存的是当前的状态那么在当前这种题目中,下一步怎么走有两种决策,我们要把两种决策可能导致的状态更新全部都记录下来,因此我们可以用双端队列来实现bfs,把正常走的......
  • npm下载依赖报错:operation not permitted
    npm下载依赖报错:operationnotpermitted想下个SoybeanAdmin来用下,需要用到pnpm,但是用npm下载的时候直接报错简单来说就是权限的问题,网上很多都说改nodejs下面的几个文件夹的权限,我的评价是不好使,还得修改nodejs这个文件夹的权限才行,右键属性-安全-编辑-勾上完全控制-确定,这样......
  • Leetcode 3171. Find Subarray With Bitwise AND Closest to K
    Leetcode3171.FindSubarrayWithBitwiseANDClosesttoK1.解题思路2.代码实现题目链接:3171.FindSubarrayWithBitwiseANDClosesttoK1.解题思路这道题坦率地说让我感觉很挫败,又一次没有自力搞定,是看了大佬们的答案才搞定的……知道比没有搞定更难受的......
  • QuartusII调用 PLL_IP核方法(Mega Wizard)
    【基本信息】要求:调用PLL—IP核,50Mhz晶振输入,输出四路时钟不同信号:100Mhz,25Mhz,50Mhz(90°相位),50Mhz(20%占空比)。芯片型号:cycloneⅣEP4CE10F17C8平台工具:QuartusII15.0(64-bit)、ModelsimSE-6410.4【PLL_IP核简介】IP核:ASIC或FPGA中预先设计好具有某种功能的电路模块,参......
  • FSMO(Flexible Single Master Operation)
    首先,ActiveDirectory是集中式存储库(centralrepository),其中存储企业中的所有对象及其各自的属性。它是一个分层(hierarchical)多主(Multi-master)模型的数据库。无论域控制器(DC)联网与否,都可以在企业中任意给定的DC上处理对数据库的更改。这当中,[多主]意味着可......
  • rabbitMq的status报错Error: unable to perform an operation on node ‘rabbit……
    遇到下图这个错大部分问题可能是由于 RabbitMQ CLI工具的ErlangCookie与服务器上的不匹配而导致连接问题。ErlangCookie在RabbitMQ节点之间进行身份验证和安全通信时起着重要作用。可以在c盘搜索一下看下两个.erlang.cookie文件中的内容是否一致,不一致的话就改成一致的......
  • npm 或 yarn安装依赖报错 EPERM: operation not permitted, unlink 解决方法
    1.权限问题检查是否限制为只有管理员才能操作,打开当前项目的文件夹然后选中要打开的项目文件,在点击左上角的 文件 然后以管理员身份运行。在里面执行安装命令npmi...,yarnadd....   2.缓存问题npm清理缓存命令:npmcacheclean--forceyarn清理缓存命令:yarncach......
  • [Javascript] Perform Set Operations using JavaScript Set Methods
    The "SetMethods" proposalintroduces7newmethodstoJavaScript/ECMAScript:union(setB):ReturnsanewSetcontainingallelementsfromtheoriginalsetandanothersetsetB.Thismethodeffectivelycombinesthemembersoftwosetswithoutd......
  • [ABC261E] Many Operations 题解
    [ABC261E]ManyOperations题解思路解析首先可以发现,如果直接跑肯定会炸,于是考虑优化。首先发现操作有很多重复的,所以可以考虑把每一个数经过所有操作后的值都预处理下来,但这样显然空间也会炸。然后我们又想到可以不需要求下每个数经过操作后的值,可以把每一位二进制上在开始前......