dfs之地图染色
2016-03-30 16:38
148 查看
#include <iostream> #include<cstdio> #include<cstring> using namespace std; int visit[30]; int mapp[30][30]; int n,m,k; int cnt; void dfs(int x) { for(int i=1;i<=n;i++) //n行 { int flag=1; for(int j=1;j<x;j++) //前x列 if(mapp[j][x]&&visit[j]==i) //已经染色 { flag=0; break; } if(flag){ visit[x]=i; if(x==m) cnt++; else dfs(x+1); } } } int main() { while(~scanf("%d%d",&n,&m)) { cnt=0; memset(visit,0,sizeof(visit)); memset(mapp,0,sizeof(mapp)); scanf("%d",&k); int x,y; for(int i=0; i<k; i++) { scanf("%d%d",&x,&y); mapp[x][y]=mapp[y][x]=1; } dfs(1); cout<<cnt<<endl; } return 0; }
相关文章推荐
- Dispatcher & Redirect
- ListView控件的onItemClick事件和item中Button的onClick事件冲突的解决办法
- 【商业模式】:网页,百度,阿里,腾讯的商业模式
- Android Fragments 详细使用
- Nginx-添加echo模块
- JNI接口函数 (1)
- 判断ios中是否安装了某些软件
- jstl fmt标签笔记
- pyspider创建淘女郎图片爬虫任务-源码解析
- eclipse Mars查看JDK源码
- MVP模式实现登录功能
- bootstrap组件
- javaweb学习总结(二十四)——jsp传统标签开发
- 搜索算法基础之Oil Deposits
- 深入理解运算符的重载
- 欢迎使用CSDN-markdown编辑器
- 机器学习中的数学(1)-回归(regression)、梯度下降(gradient descent)
- Python——Requests
- android-Selector控件点击效果设置
- 面试题65:二叉树的下一个结点