题解 | #位操作练习#

位操作练习

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;
}

全部评论

相关推荐

头顶尖尖的程序员:我也是面了三四次才放平心态的。准备好自我介绍,不一定要背熟,可以记事本写下来读。全程控制语速,所有问题都先思考几秒,不要急着答,不要打断面试官说话。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务