poj 1270 Following Orders 枚举排列
来源:互联网 发布:淘宝怎么分期买电脑 编辑:程序博客网 时间:2024/05/17 06:51
题意:
给一个字符集和一些字符之间的小于关系,求字符集上的所有可能排列。
分析:
暴力枚举可以分为枚举子集,枚举排列,枚举组合,这题是个简单的枚举排列,枚举过程中用小于关系剪枝即可。
代码:
//poj 1270//sep9#include <iostream>#include <algorithm>using namespace std;char vars[64],constraint[256],ans[64];int g[128][128],vis[256];int len;void dfs(int cur){if(cur==len){puts(ans);return ;}for(int i=0;i<len;++i){if(vis[vars[i]]==0){int ok=1;for(int k=0;k<cur&&ok;++k)if(g[vars[i]][ans[k]]==1)ok=0;if(ok==0) continue;ans[cur]=vars[i];vis[vars[i]]=1;dfs(cur+1);vis[vars[i]]=0;}}}int main(){while(gets(vars)){memset(g,0,sizeof(g));memset(vis,0,sizeof(vis));gets(constraint);for(int i=0;constraint[i];i+=4)g[constraint[i]][constraint[i+2]]=1;len=0;for(int i=0;vars[i];++i)if(vars[i]>='a'&&vars[i]<='z')vars[len++]=vars[i];vars[len]='\0';ans[len]='\0';sort(vars,vars+len);dfs(0);puts("");}return 0;}
0 0
- poj 1270 Following Orders 枚举排列
- POJ 1270 Following Orders
- poj 1270 Following Orders
- POJ 1270 Following Orders
- POJ-1270 Following Orders
- POJ 1270 Following Orders
- POJ 1270 Following Orders
- poj 1270 Following Orders
- poj 1270 Following Orders
- poj 1270 Following Orders
- POJ 1270 Following Orders
- POJ 1270 Following Orders
- POJ 1270 Following Orders
- poj 1270 Following Orders 拓扑
- POJ 1270 Following Orders 笔记
- (POJ 1270)Following Orders 求序列在限制条件下的 [全排列]
- POJ 1270 Following Orders (拓扑排序)
- POJ 1270 HOJ 1170 Following Orders
- Remove Element
- Andy Chen Java
- Linux网络应用综合项目(6.15)
- Nginx Rewrite规则初探
- 利用referer防止盗链下载
- poj 1270 Following Orders 枚举排列
- MySQL-5.6.13免安装版配置方法
- Java获得Class对象的几种方式
- 7-4
- 从java到安卓学习笔记--到15-06-16
- 剑指Offer--面试题18:数的子结构--Java实现
- Log4J配置
- Hadoop中HDFS写入文件的原理剖析
- org.hibernate.MappingException: Unknown entity