zoukankan      html  css  js  c++  java
  • Network

    https://vjudge.net/contest/411012#problem/B

    这sb题真的就nm离谱

    割点板子题,就是建图比较sb,具体看代码吧

    #include <iostream>
    #include <vector>
    #include <cstring>
    #include <cstdio>
    #include <algorithm>
    #include <string>
    #include <set>
    using namespace std;
    typedef long long ll;
    const int maxn = 2e5+121;
    vector<int> G[maxn];
    void add(int x,int y) {
    	G[x].push_back(y);
    }
    int n;
    int dfn[maxn], low[maxn];
    int cnt[maxn];
    int df;
    
    string sn;
    int tarjan(int x){
    	dfn[x] = low[x] = ++df;
    	int f = 0;
    	
    	for(int i=0;i<G[x].size();i++){
    		int p = G[x][i];
    		if(!dfn[p]){
    			tarjan(p);
    			low[x] = min(low[x],low[p]);
    			
    			if(dfn[x] <= low[p]){
    				f++;
    				if(x != 1 || f > 1){
    					cnt[x] = 1;
    				}
    			}		
    		}	
    		else{
    			low[x] = min(low[x],dfn[p]);
    		}
    	}
    	
    	
    	return 0;
    }
    int main() {
    	while(cin>>n && n) {
    		for(int i=0; i<=n+11; i++) {
    			G[i].clear();
    			dfn[i] = low[i] = 0;
    			cnt[i] = 0;
    		}
    		df = 0;
    		
    		getchar();
    		while(1){
    			int f = 0;
    			int ans = 0;
    			int be;
    			getline(cin,sn);
    			if(sn == "0") break;
    			
    			for (int i = 0; i < sn.size(); i++) {
    				if(sn[i] >= '0' && sn[i] <= '9') {
    					ans *= 10;
    					ans += sn[i] - '0';
    				} 
    				else {
    					if(f == 0) {
    						be = ans;
    						f = 1;
    					} 
    					else {
    						add(be, ans);
    						add(ans, be);
    					}
    					ans = 0;
    				}
    			}
    			add(be,ans);
    			add(ans,be);
    		}
    		
    		tarjan(1);
    		int ans = 0;
    		for(int i=1;i<=n;i++){
    			if(cnt[i])  ans++;
    		}
    		cout<<ans<<endl;
    	}
    	return 0;
    }
    

      

  • 相关阅读:
    svn 常用控制台命令解析
    android studio Activity标题栏研究
    android 音频播放总结 soundlPool,MediaPlay
    android studio 将library导出为jar 亲测成功
    android 控件自定义样式
    android studio 程序错误
    android 界面布局
    jdk 多版本安装 for mac
    android 控件ui
    homebrew for mac
  • 原文地址:https://www.cnblogs.com/lesning/p/14074560.html
Copyright © 2011-2022 走看看