您的位置:首页 > 文旅 > 旅游 > 深圳产品网络推广_建造师个人业绩查询系统_广州疫情已经达峰_百seo排名优化

深圳产品网络推广_建造师个人业绩查询系统_广州疫情已经达峰_百seo排名优化

2024/10/5 9:46:51 来源:https://blog.csdn.net/2301_81278039/article/details/142681209  浏览:    关键词:深圳产品网络推广_建造师个人业绩查询系统_广州疫情已经达峰_百seo排名优化
深圳产品网络推广_建造师个人业绩查询系统_广州疫情已经达峰_百seo排名优化

原题

C. Bitwise Balancing

解析

题意如图

我们要求 a , 其实 a 只要满足条件即可, 我们可以发现每一位都不会影响到其它位, 因此对每一位检查, 发现对b c a, d 有固定结果

b c a d
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 0
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 0

bcd 无法为 011 和 100, 其它皆可找到对应的 a

代码

#include <bits/stdc++.h>
#define int long longusing namespace std;const int N = 200010;int n, m, k, q, ans;int a[N];void solve()
{int b, c, d;cin >> b >> c >> d;int mask = 1;int a = 0, bb = 0, cc = 0, dd = 0;for (int i = 1; i <= 62; i ++ ){if (b & mask){bb = 1;}else{bb = 0;}if (c & mask){cc = 1;}else{cc = 0;}if (d & mask){dd = 1;}else{dd = 0;}if(bb == 0 && cc == 1 && dd == 1){cout << -1 << "\n";return;}if(bb == 1 && cc == 0 && dd == 0){cout << -1 << "\n";return;}if(bb == 1 && cc == 1 && dd == 0){a += mask;}if(bb == 0 && cc == 0 && dd == 1){a += mask;}mask <<= 1;}cout << a << "\n";
}signed main()
{ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);int T = 1;cin >> T;while (T -- ){solve();}
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com