zoukankan      html  css  js  c++  java
  • UVA 10004 Bicoloring 解题报告

    题意:给定一个强联通无向图(没有独立点),相邻节点不能同色,问能否用两种颜色涂色整个联通图;

    解题思路:深搜;

    解题代码:

    // File Name: uva10004.1.c
    // Author: darkdream
    // Created Time: 2013年06月15日 星期六 19时30分33秒
    
    #include<stdio.h>
    #include<string.h>
    #include<stdlib.h>
    #include<time.h>
    #include<math.h>
    int map[300][300];
    int visit[300];
    int ok, n ;
    void dfs(int k , int sum)
    {
      for(int i = 0;i < n; i++)
      {
        if(map[k][i] == 1 && visit[i]!= 0)
        {
           if(visit[i] == visit[k])
           {
               ok = 0;
               return;
           
           }
        }
      }
      for(int i =0 ;i < n;i++)
      {
         if(map[k][i] && visit[i] == 0)
         {
            if(visit[k] == 1)
                visit[i] = 2;
            else
                visit[i] = 1;
            dfs(i,sum+1);
         }
      }
    }
    
    int main(){
    
       //freopen("/home/plac/problem/input.txt","r",stdin);
       //freopen("/home/plac/problem/output.txt","w",stdout);
        while(scanf("%d",&n) != EOF,n)
        {
           ok = 1 ;
           memset(map,0,sizeof(map));
           memset(visit,0,sizeof(visit));
           int m,a,b;
           scanf("%d",&m);
           while(m--)
           {
             scanf("%d %d",&a,&b);
             map[a][b] = 1 ;
             map[b][a] = 1;
           }
           visit[0] = 1;
           dfs(0,1);
           /*for(int i = 0 ;i < n;i ++)
               printf("%d ",visit[i]);
           printf("\n");*/
           if(ok)
            printf("BICOLORABLE.\n");
           else
            printf("NOT BICOLORABLE.\n");
        }
        
    return 0 ;
    }
    View Code
    没有梦想,何谈远方
  • 相关阅读:
    Linux CentOS 6.5 ifconfig查询不到ip简单解决方法
    java 使用网建SMS发送短信验证码
    SpringBoot 发送简单邮件
    IntelliJ idea SpringBoot打war包
    Firefox火狐浏览器打开新标签页一直闪烁
    Open Live Writer
    javascript函数
    class类的初始化
    计算机网络学习总结1
    XML语言基础2 DTD
  • 原文地址:https://www.cnblogs.com/zyue/p/3137946.html
Copyright © 2011-2022 走看看