noi.ac#712レベリング

分析

点としてのボート

レベリングエッジとして

見つかった通信ブロックが通信ブロックのN-1辺の回答パリティ影響の数よりも多いです

だから、互いに素セット維持するために

コード

#include <ビット/ STDC ++ H>
 使用して 名前空間STDを、
INT FA [ 200100 ]、SIZ [ 200100は ]、である [ 200100 ]、回答、N、M。
インラインINT SF(int型 x)は{ 返す FAを[X] == X X:FA [X] = SF(FA [X]);}
 int型のmain(){
     int型I、J、K。
    scanf関数(" %d個の%のD "、&​​N、&M)。
    (i = 1 ; iが<= N; iは++)FA [I] = I、SIZ [I] = 1 (i = 1 ; iが<= M; iは++ ){
       int型X、Y。
      scanf関数(" %dの%のD "、およびX&Y)。
      もし(!SF(X)= SF(Y)){ 
          SIZ [SF(Y)] + = SIZ [SF(X)]。
          である [SF(Y)] ^ = である[SF(X)]。
          FA [SF(X)] = SF(Y)。
      } そう である [SF(X)] ^ = 1 ; 
    } 
    ため(i = 1 ; iが<= N; iは++)場合(SF(I)== I)アンス+ = SIZ [I] - (である [I]?01 )。
    coutの << アンス。
    リターン 0  ;
}

 

おすすめ

転載: www.cnblogs.com/yzxverygood/p/11612335.html