zoukankan      html  css  js  c++  java
  • CODE[VS] 1116 四色问题

    题目描述 Description

    给定N(小于等于8)个点的地图,以及地图上各点的相邻关系,请输出用4种颜色将地图涂色的所有方案数(要求相邻两点不能涂成相同的颜色)

    数据中0代表不相邻,1代表相邻

    输入描述 Input Description

    第一行一个整数n,代表地图上有n个点

    接下来n行,每行n个整数,每个整数是0或者1。第i行第j列的值代表了第i个点和第j个点之间是相邻的还是不相邻,相邻就是1,不相邻就是0.

    我们保证a[i][j] = a[j][i] (a[i,j] = a[j,i])

    输出描述 Output Description

    染色的方案数

    样例输入 Sample Input

    8
    0 0 0 1 0 0 1 0 
    0 0 0 0 0 1 0 1 
    0 0 0 0 0 0 1 0 
    1 0 0 0 0 0 0 0 
    0 0 0 0 0 0 0 0 
    0 1 0 0 0 0 0 0 
    1 0 1 0 0 0 0 0 
    0 1 0 0 0 0 0 0

    样例输出 Sample Output

    15552

    数据范围及提示 Data Size & Hint

    n<=8


    这是一个DFS的题目,我们的想法是如果一个点在第i种颜色的时候与其相邻的点没有着第i种颜色,那么我们将这个点着上第i种颜色,并递归进入下一个点,继续如上搜索。
    代码如下:

    /*************************************************************************
        > File Name: 四色问题.cpp
        > Author: zhanghaoran
        > Mail: chilumanxi@gmail.com 
        > Created Time: 2015年07月17日 星期五 11时07分38秒
     ************************************************************************/
    
    #include <iostream>
    #include <algorithm>
    #include <utility>
    
    using namespace std;
    
    int N;
    int map[9][9];
    int flag[9];
    int temp = 0;
    int ans = 0;
    
    void dfs(int num){
    	if(num == N + 1){
    		ans ++;
    		return ;
    	}
    	for(int i = 1; i <= 4; i ++){
    		for(int j = 1; j <= N; j ++){
    			if(map[num][j] && flag[j] == i){
    				temp = 1; 
    				break;
    			}
    		}
    		if(!temp){
    			flag[num] = i;
    			dfs(num + 1);
    		}
    		else
    			temp = 0;
    	}
    	flag[num] = 0;
    }
    
    int main(void){
    	cin >> N;
    	for(int i = 1; i <= N; i ++){
    		for(int j = 1; j <= N; j ++){
    			cin >> map[i][j];
    		}
    	}
    	dfs(1);
    	cout << ans << endl;
    	return 0;
    }



  • 相关阅读:
    正则结合
    解决Linux下yum安装无法解析URL的问题
    Linux安装PHP和MySQL
    Windows安装PHP MongoDB扩展
    转】关于cgi、FastCGI、php-fpm、php-cgi
    Linux安装PHP MongoDB扩展
    mysql InnoDB引擎 共享表空间和独立表空间(转载)
    Mysql优化ibdata1大小
    Magento-设置产品显示的条数和默认条数
    MySql创建指定字符集的数据库
  • 原文地址:https://www.cnblogs.com/chilumanxi/p/5136115.html
Copyright © 2011-2022 走看看