zoukankan      html  css  js  c++  java
  • hdoj 2120 Ice_cream's world I【求成环数】

    Ice_cream's world I

    Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
    Total Submission(s): 741    Accepted Submission(s): 429


    Problem Description
    ice_cream's world is a rich country, it has many fertile lands. Today, the queen of ice_cream wants award land to diligent ACMers. So there are some watchtowers are set up, and wall between watchtowers be build, in order to partition the ice_cream’s world. But how many ACMers at most can be awarded by the queen is a big problem. One wall-surrounded land must be given to only one ACMer and no walls are crossed, if you can help the queen solve this problem, you will be get a land.
     
    Input
    In the case, first two integers N, M (N<=1000, M<=10000) is represent the number of watchtower and the number of wall. The watchtower numbered from 0 to N-1. Next following M lines, every line contain two integers A, B mean between A and B has a wall(A and B are distinct). Terminate by end of file.
     
    Output
    Output the maximum number of ACMers who will be awarded.
    One answer one line.
     
    Sample Input
    8 10 0 1 1 2 1 3 2 4 3 4 0 5 5 6 6 7 3 6 4 7
     
    Sample Output
    3
    #include<stdio.h>
    #include<string.h>
    #define MAX 1010
    int set[MAX];
    int sum=0;
    int find(int fa)
    {
    	int t;
    	int ch=fa;
    	while(fa!=set[fa])
    	fa=set[fa];
    	while(ch!=fa)
    	{
    		t=set[ch];
    		set[ch]=fa;
    		ch=t;
    	}
    	return fa;
    }
    void mix(int x,int y)
    {
    	int fx,fy;
    	fx=find(x);
    	fy=find(y);
    	if(fx!=fy)
    	set[fx]=fy;
    	else
    	sum++;
    }
    int main()
    {
    	int n,m,i,a,b;
    	while(scanf("%d%d",&n,&m)!=EOF)
    	{
    		for(i=0;i<=n;i++)
    		set[i]=i;
    		for(i=0;i<m;i++)
    	    {
    		    scanf("%d%d",&a,&b);
    		    mix(a,b);
    	    }	    
    	    printf("%d
    ",sum);
    	    sum=0;
    	}	
    	return 0;
    }
     
    

      

  • 相关阅读:
    CF 538 D. Flood Fill 递归 区间DP
    P3355 骑士共存问题 二分建图 + 当前弧优化dinic
    P1726 上白泽慧音 tarjan 模板
    P1073 最优贸易 建立分层图 + spfa
    P2774 方格取数问题 网络最大流 割
    P2157 [SDOI2009]学校食堂 状压DP
    P1357 花园 状压 矩阵快速幂
    P3084 [USACO13OPEN]照片Photo dp
    CF_EDU51 E. Vasya and Big Integers
    搜索:DLX算法
  • 原文地址:https://www.cnblogs.com/tonghao/p/4539627.html
Copyright © 2011-2022 走看看