zoukankan      html  css  js  c++  java
  • CCF CSP 201709-4 通信网络

    思路:

    1.正着存一个图,再把边的方向倒过来再存一个图;
    2.对于每个点,dfs正着的那个图,再dfs倒着的那个图,分别设立两个数组标记每个点是否被访问,如果有点两次都没有被访问,则该点不能知道所有点;
    3.刚开始想错了,想着正着要遍历到所有点或者倒着要遍历到所有点才行,这样才30分,而且觉得自己很对,30分的朋友可以康康是不是这个错QAQ;

    代码:

    #define IOS ios::sync_with_stdio(false);cin.tie(0)
    #include<bits/stdc++.h>
    using namespace std;
    #define mem(a,x) memset(a,x,sizeof(a))
    #define pb(a) push_back(a)
    #define rp(i,n) for(int i=0;i<n;i++)
    #define rpn(i,n) for(int i=1;i<=n;i++)
    const int MAX_N=1005;
    vector<int> v[2][MAX_N];
    bool vst[2][MAX_N];
    void dfs(int now,int k){
    	vst[k][now]=true;
    	for(auto e:v[k][now]){
    		if(!vst[k][e]) dfs(e,k);
    	}
    }
    int main(){
    	IOS;
    	int n,m;
    	cin>>n>>m;
    	rp(i,m){
    		int a,b;
    		cin>>a>>b;
    		v[0][a].pb(b);
    		v[1][b].pb(a);
    	}
    	int ans=0;
    	for(int i=1;i<=n;i++){
    		mem(vst,0);
    		for(int k=0;k<2;k++) dfs(i,k);
    		rpn(j,n){
    			if(vst[0][j]==0&&vst[1][j]==0) goto here;
    		}
    		ans++;
    		here:;
    	}
    	cout<<ans;
    	return 0;
    }
    
  • 相关阅读:
    JQuery.Ajax()的data参数类型
    通过拖动表格行进行行排序
    jquery animate()背景色渐变的处理
    JavaScript代码不执行
    Java性能调优笔记
    tika提取pdf信息异常
    Solr字段配置错误
    Oracle查询字符集
    zookeeper中Watcher和Notifications
    zookeeper适用场景:分布式锁实现
  • 原文地址:https://www.cnblogs.com/yuhan-blog/p/12308867.html
Copyright © 2011-2022 走看看