题解 | #位操作练习#

位操作练习

https://www.nowcoder.com/practice/7bdc346ca39841f6a05f73d98477621d

#include<iostream>
#include<bitset>
using namespace std;

int main(void)
{
	int a,b;
	while(cin >> a >> b)
	{
		bitset<16>b1(a);
		bitset<16>b2(b);
		bool f = true;
		for(int i = 0; i < 16;i++)
		{
			f = true;
			for(int j = 0;j < 16;j++)
			{
				int new_index = (j + i) % 16;
				if(b1[new_index] != b2[j]){
					f = false;
					break;
				}
			}
			if(f) break;
		}
		if(f) cout << "YES\n";
		else cout << "NO\n"; 
	}
	
	
	
	return 0;
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
昨天 16:51
已编辑
点赞 评论 收藏
分享
废铁汽车人:秋招真是牛鬼蛇神齐聚一堂
点赞 评论 收藏
分享
西南山:哥,你的技能是在报菜单吗
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
昨天 17:43
Java抽象带篮子:绝绝子暴风吸入啊
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务