回溯例题(计算机算法设计与分析)
2017-04-24 22:23
295 查看
P153:子集和问题
View Code
#include <bits/stdc++.h> using namespace std; const int maxn = 25; int C[maxn]; int n; void calc(int cur) { if(cur>=n) { for(int i=0;i<n;i++) printf("%d ",C[i]+1); puts(""); return; } else { for(int i=0;i<n;i++) { int ok = 1; C[cur] = i; for(int j=0;j<cur;j++) { if(C[cur]==C[j]||cur-C[cur]==j-C[j]||cur+C[cur]==j+C[j]) { ok = 0; break; } } if(ok) { calc(cur+1); return; } } } return; } int main() { scanf("%d",&n); calc(0); return 0; }
View Code
相关文章推荐
- 算法分析与设计课程资料:蚂蚁算法的初步研究与计算机模拟
- 计算机算法设计与分析之棋盘覆盖问题
- 计算机算法设计与分析
- 算法分析与设计回溯法之n皇后问题
- 分治的算法复杂度计算(计算机算法设计与分析--王晓东)
- 循环赛日程表(计算机算法设计与分析 --王晓东) 2.11
- 计算机算法设计与分析观后小总结
- 计算机算法分析设计第一课笔记
- 算法分析与设计之五大常用算法 (IV)—— 回溯算法
- 算法设计例题:最大团(回溯、分枝限界)
- 计算机算法设计与分析作业01:分治法求解大数乘法+L型骨牌的棋盘覆盖问题
- “计算机算法设计与分析”期末考点以及应试思路-D_Dan
- 算法分析与设计(五)回溯法
- 南邮算法分析与设计实验3 回溯法
- 计算机算法设计与分析之不定期更新的日常+动态规划矩阵连乘+最长公共子序列
- 南邮算法分析与设计实验3 回溯法
- 计算机算法设计与分析之棋盘覆盖问题
- 算法分析与设计回溯法之符号三角形
- 计算机算法的设计与分析
- 算法分析与设计课程总结