(贪心, 字符串, 位运算)Codeforces Round #402 E. Bitwise Formula
来源:互联网 发布:多玩数据库 7.0 编辑:程序博客网 时间:2024/05/29 05:05
题目网址: Codeforces Round #402 E. Bitwise Formula
题意分析:
题意:
- 给n个长度为m的二进制变量赋值, 其中有计算位运算后赋值, 且有未知’?’变量, 求’?’为 何值时, 使得所有变量和最大, 何值时, 使得所有变量和最小.
思路:
- 模拟题, 且从最高位开始判断 加 ‘0’ 还是 加 ‘1’
代码:(just_sortb博主写的)
#include <bits/stdc++.h>using namespace std;const int maxn = 5005;map <string, int> mp;struct Q { string s; int num, a, b, op;} q[maxn];int n, m;int cal(int x, int p) { q[0].num = p; int ans = 0; for (int i = 1; i <= n; i++) { if (q[i].op == 0) q[i].num = q[i].s[x] - '0'; else { int a = q[q[i].a].num, b = q[q[i].b].num; if (q[i].op == 1) q[i].num = a & b; if (q[i].op == 2) q[i].num = a | b; if (q[i].op == 3) q[i].num = a ^ b; } ans += q[i].num; } return ans;}int main(){ cin >> n >> m; string s; mp["?"] = 0; for (int i = 1; i <= n; i++) { cin >> s; mp[s] = i; cin >> s; cin >> s; if (isdigit(s[0])) { q[i].op = 0; q[i].s = s; } else { q[i].a = mp[s]; cin >> s; if (s[0] == 'A') q[i].op = 1; if (s[0] == 'O') q[i].op = 2; if (s[0] == 'X') q[i].op = 3; cin >> s; q[i].b = mp[s]; } } string ans1 = "", ans2 = ""; for (int i = 0; i < m; i++) { int cnt1 = cal(i, 0); int cnt2 = cal(i, 1); if (cnt1 <= cnt2) ans1 += '0'; else ans1 += '1'; if (cnt1 >= cnt2) ans2 += '0'; else ans2 += '1'; } cout << ans1 << endl; cout << ans2 << endl; return 0;}
阅读全文
1 0
- (贪心, 字符串, 位运算)Codeforces Round #402 E. Bitwise Formula
- Codeforces Round #402 E. Bitwise Formula
- codeforces 779 E. Bitwise Formula
- CF 778B Bitwise Formula 位运算,贪心
- 【Codeforces Round #402 (Div. 1)】Codeforces 778B Bitwise Formula
- Codeforces Round #112 (Div. 2) E题 位运算
- CodeForces 778B Bitwise Formula 解题报告
- Codeforces Round #396 (Div. 2)E(树形dp,按位运算,好题)
- Educational Codeforces Round 23 817E. Choosing The Commander 字典树 位运算
- codeforces 165E - Compatible Numbers 【位运算】
- 【codeforces 165E】 - Compatible Numbers 【位运算】
- 位运算符 Bitwise Operators
- python: Bitwise Operators (位运算)
- Codeforces Round #195 (Div. 2)位运算
- Codeforces Round #238 (Div. 2)(位运算)
- Codeforces Round #262 (Div. 2)E(贪心+暴搜)
- Educational Codeforces Round 7 E. Ants in Leaves(贪心)
- Educational Codeforces Round 7(E)贪心,思维
- sql优化
- HashMap实现原理及自定义
- 使用NSProxy和NSObject设计代理类的差异
- 【UI技术分享】游戏技能图标绘制
- RecyclerView 夜间模式
- (贪心, 字符串, 位运算)Codeforces Round #402 E. Bitwise Formula
- 解决myeclipse2017ci7破解后闪退问题
- xtrabackup新版详细说明(version-2.4.1)
- codeforces 463B Caisa and Pylons
- 杭电暑期多校集训—Maximum Sequence
- JavaScript 风格指南(2)
- maven启动jetty 加载jar包
- oracle 12c企业版 收费标准(2017.7月)
- 自定义一个函数区分数组或者对象