博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
全排列
阅读量:4558 次
发布时间:2019-06-08

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

HDU 1716 利用 DFS 的回溯产生全排列 DFS 回溯的这点功能是很神奇的
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;#define INF 0x3f3f3f3f#define N 100int a[10];int ans[N], k, vis[N];void DFS(int sum, int num){ if(num==4) { ans[k++]=sum; return ; } for(int i=1; i<=4; i++) { if(!vis[i]&&num==0) { sum+=a[i]*1000; vis[i]=1; DFS(sum, num+1); vis[i]=0; sum-=a[i]*1000; } else if(!vis[i]&&num==1) { sum+=a[i]*100; vis[i]=1; DFS(sum, num+1); vis[i]=0; sum-=a[i]*100; } else if(!vis[i]&&num==2) { sum+=a[i]*10; vis[i]=1; DFS(sum, num+1); vis[i]=0; sum-=a[i]*10; } else if(!vis[i]&&num==3) { sum+=a[i]; vis[i]=1; DFS(sum, num+1); vis[i]=0; sum-=a[i]; } }}int main(){ int cnt=0; while(1) { int s=INF; scanf("%d%d%d%d", &a[1], &a[2], &a[3], &a[4]); for(int i=1; i<=4; i++) if(a[i]

 

转载于:https://www.cnblogs.com/9968jie/p/5524595.html

你可能感兴趣的文章
【JAVASCRIPT】React学习-组件生命周期
查看>>
win 64 文件操作
查看>>
Java范例集锦(二)
查看>>
C语言变量和常量
查看>>
LInuxDay8——shell脚本编程基础
查看>>
topcoder 673
查看>>
Java中一些常用的类,包,接口
查看>>
下载特定区域内街景照片数据 | Download Street View Photos within Selected Region
查看>>
StarUML 破解方法
查看>>
C语言结构体
查看>>
[转]Tribon船体生产设计应用
查看>>
easy ui datagrid 让某行复选框不能选中
查看>>
第六周作业
查看>>
关于adb端口被占用的解决办法
查看>>
php 部分内置函数的使用
查看>>
字符串处理技巧
查看>>
归档及压缩命令
查看>>
Mybatis步骤
查看>>
WPF自定义控件之扩展原生控件
查看>>
《区块链100问》笔记整理——42~49问
查看>>