给定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

#include <iostream>
#include<algorithm>
#include <memory.h>
using namespace std;
int n;
int graph[8][8];//存临接矩阵
int color[8];//存每个点的染色情况
int counter = 0;void A(int x)
{if (x==n){counter++;return;}int i, j;for (i=1;i<=4;i++)//遍历4种颜色{for (j=0;j<n;j++)//遍历和其相邻的点if (graph[x][j]==1&&color[j]==i)//如果相邻且颜色一样则跳出break;if (j==n){//如果没有跳出,则代表当前选择的颜色是可以使用的color[x] = i;A(x + 1);color[x] = -1;}}
}int main()
{cin >> n;for (int i=0;i<n;i++)for (int j=0;j<n;j++)cin >> graph[i][j];A(0);cout << counter;cin >> n;return 0;
}

[数据结构 算法] codevs1116 四色问题相关推荐

  1. 数据结构算法集---C++语言实现

    /// // // // 堆栈数据结构 stack.h // // // /// #include<iostream.h> template<class Type>class ...

  2. 横空出世,席卷Csdn [评微软等公司数据结构+算法面试100题]

    横空出世,席卷Csdn ---评微软数据结构+算法面试100题 作者:July 时间:2010年10月-11月.版权所有,侵权必究. --------------------------------- ...

  3. 微软等数据结构+算法面试100题全部答案集锦

    微软等数据结构+算法面试100题全部答案集锦 作者:July.阿财. 时间:二零一一年十月十三日. 引言 无私分享造就开源的辉煌. 今是二零一一年十月十三日,明日14日即是本人刚好开博一周年.在一周年 ...

  4. 横空出世,席卷互联网--评微软等公司数据结构+算法面试100题

    横空出世,席卷互联网                                                                          ---评微软数据结构+算法面试1 ...

  5. [整理I]精选微软等公司数据结构+算法面试100题 [第1-40题]

    精选微软等公司,数据结构+算法,经典面试100题                                       --------之前40题 --------------- ------- ...

  6. Interview:算法岗位面试—10.29下午上海某电子(偏传统ML算法,外企)数据结构算法+晚上国内某保险公司(偏AI算法,世界500强)技术面试之分类算法、回归算法、聚类算法等细节考察

    ML岗位面试:10.29下午上海某电子(偏传统ML算法,外企)数据结构算法+晚上国内某保险公司(偏AI算法,世界500强)技术面试之分类算法.回归算法.聚类算法等细节考察 Interview:算法岗位 ...

  7. [最新答案V0.4版]微软等数据结构+算法面试100题[第41-60题答案]

    [最新答案V0.4版]微软等数据结构+算法面试100题[第41-60题答案] 作者 July.Csdn网友 二零一一年一月四日 ------------------------------------ ...

  8. 7.使用php描述冒泡排序,PHP 数据结构 算法描述 冒泡排序 bubble sort

    PHP 数据结构 算法描述 冒泡排序 bubble sort 复制代码 代码如下: /** * 冒泡排序 bubble sort * * 原理:多次循环进行比较,每次比较时将最大数移动到最上面.每次循 ...

  9. C和C++数据结构算法

    C和C++数据结构算法 算法概念 算法和数据结构区别 算法特性 算法效率的度量 事后统计法 大O表示法 常见时间复杂度 算法的空间复杂度 时间换空间 算法概念 算法是特定问题求解步骤的描述 在计算机中 ...

最新文章

  1. PACBIO:经历9件大事,终获一致认可?
  2. C#——实现IComparableT 接口,ArrayLIst调用ArrayLIst.Sort()抛出System.InvalidOperationException异常解决方案
  3. 自从Python数据可视化出了这个模块后,数据可视化就再简单不过了
  4. 软件测试报告bug统计,软件测试中如何有效地写Bug报告
  5. java管道流文件的复制_JavaIO 总结笔记三 基本字节字符输入输出流和文件复制...
  6. 使用 CNF 测试套件测试云原生最佳实践
  7. Ubuntu14.04设置开机可以以root用户身份登录
  8. 每天30分钟:成功有效的学习方法
  9. MyBitis(iBitis)系列随笔之五:多表(一对多关联查询)
  10. echart 折线图、柱状图、饼图、环形图颜色修改
  11. Linux的watch命令 -- 实时监测命令的运行结果
  12. redis数据类型之hash入门
  13. 40.django中重要概念
  14. MySQL之数据库操作
  15. 滤波器原理及其作用计算机网络,数字滤波器
  16. 计算机的二课堂成果展示ppt,作品成果展示.ppt
  17. STM32---FLASH闪存
  18. 专访:InMobi全球CEO Naveen Tewari
  19. win10打印服务器纸规格没有显示,win10系统打印机添加了自定义的纸张却找不到的操作办法...
  20. wetool个人版_淘客干货:用了3年的wetool也没能幸免

热门文章

  1. EBYTE ROLA通信模块初步学习
  2. 一次寻找IBatisNet事务bug的过程
  3. 她26岁成中科大博导:我是工作上灭绝师太,生活中女汉子
  4. Docker特权模式:--privileged、--cap-add、--cap-drop
  5. HbuilderX连接小米手机/运行到小程序
  6. 易經大意(14) 三和 韓長庚 著
  7. oracle dblink 复制表,【代码备份】ORACLE数据库表同步DBLINK
  8. 易鑫集团Java面试题_史上最全!2020面试阿里,字节跳动90%被问到的JVM面试题(附答案)...
  9. AndroidStudio插件开发(进阶篇之Editor)
  10. Netty聊天室(2):从0开始实战100w级流量应用