博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
深度优先搜索 之 CODE[VS] 1116 四色问题
阅读量:4322 次
发布时间:2019-06-06

本文共 1456 字,大约阅读时间需要 4 分钟。

/*dfs,需要注意输入的测试数据的格式。*/
1 #include 
2 #include
3 #include
4 #include
5 #include
6 #include
7 #include
8 #include
9 #include
10 #include
11 #include
12 #include
13 #include
14 #include
15 #include
16 #include
17 using namespace std;18 const int INF = -0x3f3f3f3f;19 const int MaxN = 55;20 const int modPrime = 3046721;21 22 int n;23 int colorArr[10];24 char imap[10][10];25 int answer = 0;26 27 bool isAdjoinColor(int node, int color)28 {29 for (int i = 0; i < n; ++i)30 {31 if ((imap[node][i] == '1') && (color == colorArr[i]))32 {33 return true;34 }35 }36 return false;37 }38 39 void Solve(int nodeNum)40 {41 if (nodeNum == n)42 {43 ++answer;44 return;45 }46 for (int color = 1; color <= 4; ++color)47 {48 if (!isAdjoinColor(nodeNum, color))49 {50 colorArr[nodeNum] = color;51 Solve(nodeNum + 1);52 colorArr[nodeNum] = -1;53 }54 }55 }56 57 58 int main()59 {60 #ifdef HOME61 freopen("in", "r", stdin);62 //freopen("out", "w", stdout);63 #endif64 65 fill(colorArr, colorArr + 10, -1);66 cin >> n;67 for (int i = 0; i < n; ++i)68 {69 for (int j = 0; j < n; ++j)70 {71 cin >> imap[i][j];72 }73 }74 Solve(0);75 cout << answer << endl;76 77 78 #ifdef HOME79 cerr << "Time elapsed: " << clock() / CLOCKS_PER_SEC << " ms" << endl;80 _CrtDumpMemoryLeaks();81 #endif82 return 0;83 }
 

 

 
 

转载于:https://www.cnblogs.com/shijianming/p/5019018.html

你可能感兴趣的文章
SCALA STEP BY STEP
查看>>
cocos2d-x学习笔记
查看>>
MySql中的变量定义
查看>>
Ruby数组的操作
查看>>
hdu1181暴搜
查看>>
解码字符串 Decode String
查看>>
json学习笔记
查看>>
工具:linux 性能监控工具-nmon
查看>>
fatal error C1853
查看>>
Ural 1001 - Reverse Root
查看>>
玩转webpack之webpack的entry output
查看>>
java 操作mongodb查询条件的常用设置
查看>>
黑马程序员_java基础笔记(02)...java语言基础组成
查看>>
对innodb 拷贝文件实现数据库的方式(转)
查看>>
python知识点 2014-07-09
查看>>
FloatingActionButton的一点学习感悟
查看>>
ABAP CDS ON HANA-(10)項目結合して一つ項目として表示
查看>>
网站地址信息
查看>>
产品经理 - 登录 注册
查看>>
小白的python进阶历程------05.占位符
查看>>