zoukankan      html  css  js  c++  java
  • HDU 4324 Contest 3

    直接DFS即可

    #include <iostream>
    #include <string.h>
    #include <algorithm>
    #include <cstdio>
    
    using namespace std;
    
    bool vis[2010];
    
    char map[2010][2010];
    
    struct e{
    	int u,v;
    	int next;
    }edge[2050000];
    int head[2010],tot;
    
    void addedge(int u,int v){
    	edge[tot].u=u;
    	edge[tot].v=v;
    	edge[tot].next=head[u];
    	head[u]=tot++;
    }
    
    bool dfs(int now,int parent){
    	vis[now]=true;
    	for(int e=head[now];e!=-1;e=edge[e].next){
    		if(vis[edge[e].v]){
    			if(map[edge[e].v][parent]=='1')
    			return true;
    		}
    		else{
    			if(dfs(edge[e].v,now)){
    				return true;
    			}
    		}
    	}
    	return false;
    }
    
    int main (){
    	int T,n,kase=0;
    	scanf("%d",&T);
    	while(T--){
    		scanf("%d",&n);
    		getchar();
    		memset(head,-1,sizeof(head));
    		memset(vis,false,sizeof(vis));
    		tot=0;
    		for(int i=0;i<n;i++){
    			gets(map[i]);
    			for(int j=0;j<n;j++){
    				if(map[i][j]=='1'){
    					addedge(i,j);
    				}
    			}
    		}
    		bool flag=false;
    		for(int i=0;i<n;i++){
    			if(!vis[i]){
    		 		flag=dfs(i,-1);
    				if(flag)
    				break;
    			}
    		}
    		if(flag) printf("Case #%d: Yes
    ",++kase);
    		else printf("Case #%d: No
    ",++kase);
    	}
    	return 0;
    }
    

      

  • 相关阅读:
    new
    如何在win7上面安装python的包
    进程
    网络编程模块的使用
    面向对象基础与实例
    类与对象的属性与使用方法
    基础面向对象与面向过程
    RE模块垃圾回收机制
    常用函数模块
    thinkphp6 find_in_set使用实例
  • 原文地址:https://www.cnblogs.com/jie-dcai/p/4085830.html
Copyright © 2011-2022 走看看