博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU 1811 Rank of Tetris
阅读量:4360 次
发布时间:2019-06-07

本文共 853 字,大约阅读时间需要 2 分钟。

传送门:

解题思路:

主要利用了:

并查集,合并关系是a=b的情况,注意在合并的时候要以大的为树根,也就是向编号大的合并。

然后利用拓扑排序,进行关系的判断。用L表示度为0的点,如果在同一时刻度数为零的点有多个,这就是“NUCERTAIN”情况。

如在存在回路,则说明存在“CONFILICT”。

实现代码:

#include 
#include
#include
#include
#include
using namespace std;const int maxn=10010;struct Edge{ int u,v; char s[4];}edges[maxn*2];vector
G[maxn];int deg[maxn];int fa[maxn];int num=0;bool crt;void init(int n){ crt=true; num=n; for(int i=0;i
q; for(int i=0;i
1){ crt=false; } int u=q.front(); q.pop(); num--; for(int i=0;i
'){ G[fu].push_back(fv); deg[fv]++; }else if((edges[i].s)[0]=='<'){ G[fv].push_back(fu); deg[fu]++; } } toplogic(N); if(num>0) puts("CONFLICT"); else if (!crt) puts("UNCERTAIN"); else puts("OK"); } return 0;}

 

转载于:https://www.cnblogs.com/IKnowYou0/p/6510465.html

你可能感兴趣的文章
Java中的内存泄露
查看>>
asp.net 自定义控件验证FCKeditor是否为空
查看>>
oracle 查看表空间的脚本
查看>>
Python 描述符是什么?以及如何实现
查看>>
程序员的激情其实是一种痛苦
查看>>
MySQL后台线程的清理工作
查看>>
连接mysql数据库,创建用户模型
查看>>
cogs1885 [WC2006]水管局长数据加强版
查看>>
paramiko模块
查看>>
[原创]茗洋AaronYang的 jquery.myselect.js 我的一次前端突破[上]
查看>>
1083 是否存在相等的差
查看>>
配置APP的图标
查看>>
【线段树区间最值单点更新模板】BNUOJ 52965 E Excellent Engineers
查看>>
String、StringBuffer与StringBuilder之间区别
查看>>
Timer.3 - Binding arguments to a handler
查看>>
linux 判断变量是否相等方法
查看>>
只能为浮点数的正则表达式
查看>>
Android之指南针学习 分类: Android开发 ...
查看>>
android学习和广告平台赚钱zz 分类: Android其他 ...
查看>>
第7章例7-13
查看>>