题目链接

算法:DFS

刚开始卡了一下,但后面想了想,于是

放上代码:

#include <iostream>

using namespace std;
bool map[9][9];
int c[9]; //随便命名四种颜色
int ans = 0, N;
//依次枚举每个节点,来试与前面的节点是否有重合的,没有就下一层
void dfs(int n)
{
int i, j;
if(n > N) {ans++; return;}
for(j = 1; j <= 4; j++) //依次枚举4种颜色
{
for(i = 1; i < n; i++) if(map[i][n] && c[i] == j) break; //判断与n是否有链接并且颜色有无重合
if(i == n) //没有重合,拓展下一节点
{
c[n] = j;
dfs(n+1);
c[n] = 0;
}
}
}
int main()
{
cin >> N;
int i, j;
for(i = 1; i <= N; i++) for(j = 1; j <= N; j++) cin >> map[i][j];
dfs(1);
cout << ans;
return 0;
}

最新文章

  1. 电容与EMC-电容不同功能时对整板EMC的作用
  2. 【BZOJ-3779】重组病毒 LinkCutTree + 线段树 + DFS序
  3. fedora22,fedora24最简单的安装virtaulbox的方法
  4. SSIS 连接ORACLE 无法从 SQL 命令中提取参数的解决方案
  5. printAB()
  6. 常用vs快捷键
  7. php 批量生成html、txt文件
  8. 用android:clipChildren来实现红心变大特效
  9. C puzzles详解【34-37题】
  10. ubuntu12.10升级至14.04
  11. Python---十年语言之首
  12. 高级应用与部署 —— 主程序与web目录分离
  13. jar 打包后的文件执行时出现错误:RunJar jarFile [mainClass] args...
  14. .net Windows服务程序和安装程序制作图解
  15. The authenticity of host &#39;172.16.33.53 (172.16.33.53)&#39; can&#39;t be established的问题(日志六)
  16. beta 分布的详细介绍(转载)
  17. AI MobileNet
  18. 如何在表单中使用Ajax
  19. Java Script正则表达式语法学习
  20. vue确认密码

热门文章

  1. call_user_func_array使用原型
  2. ubuntu14.04中国源
  3. poj_2674 弹性碰撞
  4. [Android Pro] 内容提供者ContentProvider的基本使用
  5. July 17th, Week 30th Sunday, 2016
  6. image warping
  7. 山峰(codevs 1531)
  8. oracle DBA坚持写博客的7大理由
  9. poj 2186 有向图强连通分量
  10. 如何在多模型的情况下进行EF6的结构迁移