牛客练习赛130-A题题解

news/2024/10/18 22:35:10

牛客练习赛130-A题题解

题目描述如下:

给定两个整数 x,y,jackle 希望把 x 变成 y

他每次可以进行如下两种操作之一:

  • 选择任意一个整数 z,令 x=x&z。
  • 选择任意一个整数z,令x=x|z。

请问最少操作几次可以把 x 变成 y

输入描述:

本题有多组测试数据。第一行输入 1个正整数 T(1≤T≤10^5) ,表示数据组数。接下来 T 行,每行 2 个整数 x,y(0≤x,y≤10^18)。

输出描述:

对于每组测试数据,输出最少操作次数。

示例

输入
2
0 0
0 1
输出
0
1

解题思路:

我们阅读题面可以发现,看到”最少操作次数“这样的描述,我们就可以看出来这是一道贪心的思维题。

那我们先思考一下,我们先看x和y的范围是0到10^18,因此我们要给x,y开long long,这里的输入输出并没有很多,所以用不着快读。

接下来,我们想想,题目给我们限制了两种操作方式,一个是位与"&"操作,一个是位或"|"操作,那么当x==y的时候,我们直接输出0就可以。

若x!=y,我们如果想把x变成y,是不是只需要先让x=x&0,在让x=x|y,就可以了。比如: 2=0010,5=0101,我们首先将2=2&0,2就变成了0,0=0|5,0就变成了5,所以最多只需要2步即可。

到这就完了?还没有,我们还需要考虑1的情况,比如说2=0010,3=0011,他们只有一位不同,那么2=3,是不是只需要让2=2|3就可以了,也就是只需要1步。那我们如何思考这个判断条件呢?

第一个例子,p=x&y,x=2,y=3,

p=2&3,0010&0011=0010,所以p=2=x。

第二个例子,p=x&y,x=11,y=10,

p=11&10,1011&1010=1010,.p=10=y

你发现了什么?是不是只要判断x&y等于x或者x&y等于y,就能知道是不是只需要1步了?

AC代码如下:

#include <bits/stdc++.h>
using namespace std;
using ll=long long;
int t;
int main()
{cin>>t;while(t--){ll x,y;cin>>x>>y;ll p;p=x&y;if(x==y){cout<<0<<endl;}else if(p==x||p==y){cout<<1<<endl;}else{cout<<2<<endl;}}}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

数据采集与融合技术实验课程作业一

数据采集与融合技术实验课程作业一作业所属课程 https://edu.cnblogs.com/campus/fzu/2024DataCollectionandFusiontechnology作业链接 https://edu.cnblogs.com/campus/fzu/2024DataCollectionandFusiontechnology/homework/13286gitee码云代码位置 https://gitee.com/wang-qi…

C3P0 链子分析学习

C3P0 链子分析学习 概述 C3P0是一个开源的数据库连接池,它实现了数据源与JNDI绑定,支持JDBC3规范和实现了JDBC2的标准扩展说明的Connection和Statement池的DataSources对象。即将用于连接数据库的连接整合在一起形成一个随取随用的数据库连接池,使用它的开源项目有Hibernate…

鞅与停时定理

好用、神秘、很牛的东西!鞅与停时定理会随着呆猫做题更新一些,但是非题解部分的改动应该不大呆猫不会数学,要证明也是直接抄别人的,不如直接放一篇( 详细证明及介绍 主要写点,对鞅与停时定理的理解 定理与势能函数 对于一个随机过程\(\{X_0,X_1,...,X_t\}\),其中\(X_t\)…

20241018每日一题洛谷P2386

普及 每日一题 信息学竞赛 1206:放苹果 把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。 第一行是测试数据的数目t(0<=t<=20)。以下每行均包含二个整数M和N,以空格分开。1<=M,N…

图片与向量的关系

如何从向量角度描述表示图片黑白图片黑白图片(灰度图)通过 2 维向量(矩阵)来表达。2个维度的长度分别代表了图片的高度和宽度(以像素为单位),向量元素记录着每一个像素的灰度(数值越大,颜色越浅) 例如下面右图矩阵标注了左图像素点的灰度分布:彩色图片彩色图片通过 …

数据采集与融合技术第二次作业

学号姓名 102202132 郑冰智这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/2024DataCollectionandFusiontechnology/homework/13285这个作业的目标 爬取天气网、股票相关信息、中国大学2021主榜所有院校信息,并存储在数据库中实验二仓库地址 https://gitee.com/zheng…

【LGR-203-Div.4】洛谷入门赛 #28

【LGR-203-Div.4】洛谷入门赛 #28\(A\) luogu B4042 [语言月赛 202410] 顺序结构 \(AC\)顺序结构。点击查看代码 int main() { ll a;cin>>a;cout<<3*(5+a)<<" "<<3*a+5<<endl;return 0; }\(B\) luogu B4043 [语言月赛 202410] 刻度尺…

uni-app小程序(快手、抖音)getCurrentPages使用坑位记录2

前情 uni-app是我比较喜欢的跨平台框架,它能开发小程序/H5/APP(安卓/iOS),重要的是对前端开发友好,自带的IDE让开发体验也挺棒的,现公司项目就是主推uni-app,我主要负责抖音和快手端小程序。 坑位 公司历史原因项目有APP端小程序端,但并不使用uni-app的一端发布所有平台,…