zoukankan      html  css  js  c++  java
  • UVA 10004 Bicoloring

    UVA_10004

        对于这个题目,我们可以直接模拟染色的过程即可,如果发现要涂某一块时这个块已经被涂了色,并且与我们要使用的颜色不同的话,就说明这个图不能被染成BICOLORABLE的。

    #include<stdio.h>
    #include
    <string.h>
    int G[210][210],q[210],paint[210],n;
    int dfs(int u,int color)
    {
    int v;
    for(v=0;v<n;v++)
    if(G[u][v])
    {
    if(paint[v]!=-1&&paint[v]!=color)
    return 0;
    else if(paint[v]==-1)
    {
    paint[v]
    =color;
    if(!dfs(v,1-color))
    return 0;
    }
    }
    return 1;
    }
    int main()
    {
    int i,j,k,m,u,v,front,rear;
    while(1)
    {
    scanf(
    "%d",&n);
    if(n==0)
    break;
    scanf(
    "%d",&m);
    memset(G,
    0,sizeof(G));
    for(i=0;i<m;i++)
    {
    scanf(
    "%d%d",&u,&v);
    G[u][v]
    =G[v][u]=1;
    }
    memset(paint,
    -1,sizeof(paint));
    paint[
    0]=0;
    if(dfs(0,1))
    printf(
    "BICOLORABLE.\n");
    else
    printf(
    "NOT BICOLORABLE.\n");
    }
    return 0;
    }

      

  • 相关阅读:
    字体图标的制作
    vs code 本地调试配置
    瀑布流
    web组件化开发第一天
    超时调用和间歇调用
    递归 闭包
    继承
    面向对象的程序设计
    function类型
    Date类型
  • 原文地址:https://www.cnblogs.com/staginner/p/2172760.html
Copyright © 2011-2022 走看看