UVALive 6953Digi Comp II
来源:互联网 发布:服装画册拍摄淘宝拍摄 编辑:程序博客网 时间:2024/06/06 04:47
点击打开链接
拓扑排序,顺便记录一下答案
#include<cstdio>#include<ctime>#include<queue>#include<cstring>#include<iostream>#include<algorithm>using namespace std;typedef long long LL;const int maxn = 500015;LL n, sum[maxn], T, m, flag[maxn], in[maxn];int L[maxn], R[maxn];char s[8];int main(){while (cin >> n >> m){for (int i = 0; i <= m; i++) sum[i] = in[i] = 0;for (int i = 1; i <= m; i++){scanf("%s%d%d", s, &L[i], &R[i]);flag[i] = s[0] == 'L' ? 1 : 0;++in[L[i]];++in[R[i]];}queue<int> p;for (int i = 1; i <= m; i++) if (!in[i]) p.push(i);sum[1] = n;while (!p.empty()){int q = p.front();p.pop();if (L[q]){if (--in[L[q]] == 0) p.push(L[q]);sum[L[q]] += (sum[q] + flag[q]) >> 1;}if (R[q]){if (--in[R[q]] == 0) p.push(R[q]);sum[R[q]] += (sum[q] + 1 - flag[q]) >> 1;}flag[q] ^= (sum[q] & 1);}for (int i = 1; i <= m; i++)if (flag[i]) putchar('L'); else putchar('R');putchar(10);}return 0;}
0 0
- UVALive 6953 Digi Comp II
- UVALive 6953Digi Comp II
- Digi Comp II UVALive
- Digi Comp II UVALive
- UVALive 6953Digi Comp II(搜索)
- UVALive 6953Digi Comp II(拓扑)
- UVALive 7544 Banking II (DP)
- HDOJ -- 1061 Rightmost Digi
- UVALive
- UVALive
- UVALive
- UVALive
- UVALive
- UVALive
- UVALive
- UVALive
- UVALive
- UVALive
- Qt浅谈之二十二Qt样式表
- 一个简单的HTTP代理服务器c语言实现
- mysql datetime与timestamp区别
- Java高手需要注意的25个学习目标
- typedef
- UVALive 6953Digi Comp II
- Same Tree
- LeetCode题解——Combinations
- Associative机制使用场景
- Calendar
- 有理想的程序员必须知道的15件事
- Android跨进程通信的四种方式
- Topcoder SRM666 DIV2第三题,树形DP
- CCF 集合竞价