设为首页 加入收藏

TOP

hdu-1811 Rank of Tetris
2015-07-20 17:48:34 来源: 作者: 【 】 浏览:1
Tags:hdu-1811 Rank Tetris

?

题意很简单,关键在于处理‘=’的 情况,如果两个人的rating相等的话,其实可以看成一个人,那么这就用到了并查集来合并。

然后信息不完全或者冲突的情况可以做一遍拓扑排序的过程,初始sum=n,然后如果排序完了还是sum>0 就表示构成了环,所以导致冲突。

用一个标志位表示如果队列的size>1 那么肯定信息不完全,因为首先加入队列里面的就是入度为0,并且不是同一个祖先的点,如果有多个点满足,那么肯定这些点彼此之间的关系无法判断。具体看代码。

#include
  
   
#include
   
     #include
    
      #include
     
       #define N 10001 #define maxn 20001 using namespace std; int f[N],in[N],n,sum; int x[maxn],y[maxn]; char z[maxn]; vector
      
       num[N]; void init() { sum=n; for(int i=0;i
       
        q; int flag=0; for(int i=0;i
        
         1) flag=1; int x=q.front(); q.pop(); sum--; for(int i=0;i
         
          0) printf(CONFLICT ); else if(flag) printf(UNCERTAIN ); else printf(OK ); } int main() { //freopen(a.txt,r,stdin); int m; while(scanf(%d%d,&n,&m)!=EOF) { init(); for(int i=0;i
          
           ') { num[fx].push_back(fy); in[fy]++; } else { num[fy].push_back(fx); in[fx]++; } } } top_sort(); } return 0; } 
          
         
        
       
      
     
    
   
  

?

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇uva 11468 - Substring(AC自动机+.. 下一篇uva 11019 - Matrix Matcher(AC自..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·C语言结构体怎么直接 (2025-12-24 17:19:44)
·为什么指针作为c语言 (2025-12-24 17:19:41)
·如何较为深入的理解c (2025-12-24 17:19:38)
·Announcing October (2025-12-24 15:18:16)
·MySQL有什么推荐的学 (2025-12-24 15:18:13)