首页 > 其他分享 >CF 217A (森林数)

CF 217A (森林数)

时间:2022-10-25 12:10:08浏览次数:36  
标签:map begin 217A end CF getfather longint ans 森林


求森林数,裸的并查集


Program c;
var
n,i,j,ans:longint;
map:array[1..100,1..2] of longint;
f:array[1..100] of longint;
function getfather(a:longint):longint;
begin
if f[a]=a then exit(a);
f[a]:=getfather(f[a]);
exit(f[a]);
end;
procedure union(a,b:longint);
begin
f[getfather(a)]:=f[getfather(b)];
end;
begin
read(n);
for i:=1 to n do
begin
f[i]:=i;
read(map[i,1],map[i,2]);
for j:=1 to i-1 do
if (map[i,1]=map[j,1]) or (map[i,2]=map[j,2]) then
union(i,j);

end;
ans:=0;
for i:=2 to n do
if getfather(i)<>getfather(i-1) then
begin
inc(ans);
union(i,i-1);
end;
writeln(ans);

end.



标签:map,begin,217A,end,CF,getfather,longint,ans,森林
From: https://blog.51cto.com/u_15724837/5794390

相关文章

  • CF 237E(字母选取-费用流)
    题目大意:有一字符串S,你需要从n个字符串中选取一些来拼出这个串,第i个字符串代价为i,限制取P次,问最小代价(无解输出-1)建立超源S=0,超汇T=n+26+1 1-n的结点为字符串n+1-n+26的......
  • CF1239E Turtle
    CF1239ETurtle给定\(2\timesn\)的棋盘,要求重新安排布局,使得所有从\((1,1)\)走到\((2,n)\)的路径中最大点权和最小。\(n\leq25,a_i\leq5\times10^4\)。首先确......
  • CF1523F Favorite Game
    CF1523FFavoriteGame给定\(n\)个传送门和\(m\)个地点。传送门需要提前前往才能打开,你可以不用任何时间传送到任何一个传送门,你可以步行\(1\)个单位\(1\)秒。每......
  • CF741D Arpa’s letter-marked tree and Mehrdad’s Dokhtar-kosh paths
    CF741DArpa’sletter-markedtreeandMehrdad’sDokhtar-koshpaths给定一颗以\(1\)为根的树每个节点上有一个\(a\simv\)的小写字母,求每个子树内最长的链的长度......
  • CF838B Diverging Directions
    题目链接:​​传送门​​分析一下他给的这个图就知道一个祖先到它的儿子只有生成树的边可以走而一个儿子走到祖先有两种方法一个是先直接到1,再从1走到那个祖先还有一个很......
  • CF1732D2 Balance (Hard version) 题解
    前天打了波CF结果怒掉100分,果然退化得太厉害了,遂于昨晚补题.题面维护一个集合SS,有三种操作:插入一个数、删除一个数、查询kk的倍数中没出现过的最小的数。思路考......
  • CF 253B(队列上维护2个指针后移)
    B.实验误差timelimitpertestmemorylimitpertestinputoutput小明做实验......
  • CF 254C(易位构字法)
    C.易位构字法timelimitpertestmemorylimitpertestinputoutput异位构字......
  • CF 254A(重复的数)
    A.数字卡片timelimitpertestmemorylimitpertestinputoutput2n张卡片编......
  • CF 254B(日期)
    B.评委会timelimitpertestmemorylimitpertestinputoutputn 场比赛,编号......