zoukankan      html  css  js  c++  java
  • 洛谷P2932 [USACO09JAN]地震造成的破坏Earthquake Damage

    洛谷P2932 [USACO09JAN]地震造成的破坏Earthquake Damage
    dfs染色

    #include <bits/stdc++.h> 
    #define For(i,j,k) for(int i=j;i<=k;i++) 
    #define Dow(i,j,k) for(int i=j;i>=k;i--) 
    #define LL long long 
    using namespace std ; 
    
    const int N = 30011 , M = 100011 ; 
    struct node{
        int to,pre ; 
    }e[M*2];
    int n,m,K,x,cnt,ans ;
    int head[N],fa[N] ;  
    bool visit[N] ; 
    inline int read() 
    {
        int x = 0 , f = 1 ; 
        char ch = getchar() ; 
        while(ch<'0'||ch>'9') { if(ch=='-') f = -1 ; ch = getchar() ; } 
        while(ch>='0'&&ch<='9') { x = x * 10+ch-48 ; ch = getchar() ; } 
        return x * f ;  
    }
    
    inline void add(int x,int y) 
    {
        e[++cnt].to = y ; 
        e[cnt].pre = head[x] ; 
        head[x] = cnt ; 
    }
    
    inline void del(int u) 
    {
        for(int i=head[u];i;i=e[i].pre) 
            visit[e[i].to]=1 ; 
    }
    
    inline void dfs(int u) 
    {
        if(visit[u]) return ; 
        visit[u]=1 ; ans-- ; 
        for(int i=head[u];i;i=e[i].pre) 
            dfs(e[i].to) ; 
    }
    
    int main() 
    {
        n = read() ; m = read() ; K = read() ; 
        For(i,1,m) {
            int x,y ; 
            x = read() ; y = read() ; 
            add(x,y) ; add(y,x) ; 
        } 
        For(i,1,K) del(read()) ; 
        
        ans = n ; 
        dfs(1) ; 
        
        printf("%d
    ",ans) ; 
         return 0 ; 
    }
  • 相关阅读:
    java反编译工具
    Eclipse反编译插件: Jodeclipse与JadClipse
    Apk修改利器:ApkToolkit v2.1
    新浪微博2.5.1 for Android 去广告
    java
    第K顺序统计量
    身份证号码
    pop3
    google
    Exception
  • 原文地址:https://www.cnblogs.com/third2333/p/7637433.html
Copyright © 2011-2022 走看看