常见的第5章 搜索与回溯算法(C++版).pptVIP

  • 19
  • 0
  • 约1.73万字
  • 约 45页
  • 2018-11-04 发布于山东
  • 举报
常见的第5章搜索与回溯算法(C版)

第五章 搜索与回溯算法 【例9】数的划分(NOIP2001) 【问题描述】 将整数n分成k份,且每份不能为空,任意两种分法不能相同(不考虑顺序)。例如:n=7,k=3,下面三种分法被认为是相同的。 1,1,5; 1,5,1; 5,1,1; 问有多少种不同的分法。 【输入格式】 n,k (6n≤200,2≤k≤6) 【输出格式】 一个整数,即不同的分法。 【输入样例】 7 3 【输出样例】 4 { 4种分法为:1,1,5;1,2,4;1,3,3; 2,2,3 说明部分不必输出 } 【算法分析】 方法1、回溯法,超时,参考程序如下。 #includecstdio #includeiostream #includecstdlib using namespace std; int n,i,j,k,rest,sum,total; int s[7]; int main() { cout Input n k; cin n k; total = 0; s[1] = 0; i = 1; while (i) { s[i]++; if (s[i] n) i--; else if (

文档评论(0)

1亿VIP精品文档

相关文档