CodeForces 217AIce Skating(DFS)

来源:互联网 发布:现货电子交易软件 编辑:程序博客网 时间:2024/06/05 16:16

判断联通快个数  答案为个数减一


#include<iostream>#include<cstdio>#include<algorithm>#include<cstdlib>#include<cmath>#include<string.h>#include<cstring>#include<string>#include<map>#include<set>#include<vector>#include<queue>using namespace std;typedef long long ll;int ans[120];#define sp  system("pause")#define mt(dp) memset(dp,0,sizeof dp)int from[120];int posx[120];int posy[120];int n;void dfs(int x,int cot){from[x]=cot;for(int i=0;i<n;i++){if(!from[i]&&(posx[x]==posx[i]||posy[x]==posy[i]))dfs(i,cot);}}int main(){cin>>n;memset(from,0,sizeof from);for(int i=0;i<n;i++){cin>>posx[i]>>posy[i];}int cot=0;for(int i=0;i<n;i++){if(!from[i]){cot++;dfs(i,cot);}}cout<<cot-1<<endl;return 0;}


0 0