题目描述

原题来自:ZOJ 1937

已知一个数列 A0,A1,A2,A3,...,Am(其中A0=1,Am=n,A0<A1<A2<A3<...<Am )。对于每个 k,需要满足 Ak=Ai+Aj(0<=i,j<k这里 i 与 j 可以相等)。

现给定 n 的值,要求 m 的最小值(并不要求输出),及这个数列每一项的值(可能存在多个数列,只输出任一个满足条件的就可以了)。

输入格式

多组数据,每行给定一个正整数 n 。

输入以 0 结束。

输出格式

对于每组数据,输出满足条件的长度最小的数列。

样例
输入复制
5
7
12
15
77
0
输出复制
1 2 4 5
1 2 4 6 7
1 2 4 8 12
1 2 4 5 10 15
1 2 4 8 9 17 34 68 77
 
数据范围与提示
 
 ________________________
 
深搜,就是填一个表格,要求每个值是前面两个值的和,要求表格最短。
要求最短当然从大到小加,其他的就是普通搜索!

_________________________

 1 #include<bits/stdc++.h>
2 using namespace std;
3 int n,ans;
4 int sz[105],da[105];
5 void dfs(int p)
6 {
7 if(sz[p-1]>n)return;
8 if(p-1>=ans)return ;
9 if(sz[p-1]==n && p-1<ans)
10 {
11 ans=p-1;
12 for(int i=1;i<p;++i)da[i]=sz[i];
13 }
14 for(int i=p-1;i>=1;--i)
15 {
16 sz[p]=sz[p-1]+sz[i];
17 dfs(p+1);
18 }
19 }
20 int main()
21 {
22 sz[1]=1;
23 while(scanf("%d",&n)==1 && n)
24 {
25 ans=105;
26 dfs(2);
27 for(int i=1;i<=ans;++i)printf("%d ",da[i]);
28 putchar('\n');
29 }
30 return 0;
31 }

LOJ10021 Addition Chains的更多相关文章

  1. UVA 529 Addition Chains(迭代搜索)

      Addition Chains  An addition chain for n is an integer sequence  with the following four propertie ...

  2. [POJ2248] Addition Chains 迭代加深搜索

    Addition Chains Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 5454   Accepted: 2923   ...

  3. 1443:【例题4】Addition Chains

    1443:[例题4]Addition Chains 题解 注释在代码里 注意优化搜索顺序以及最优化剪枝 代码 #include<iostream> #include<cstdio&g ...

  4. poj 2248 Addition Chains (迭代加深搜索)

    [题目描述] An addition chain for n is an integer sequence with the following four properties: a0 = 1 am ...

  5. 「一本通 1.3 例 4」Addition Chains

    Addition Chains 题面 对于一个数列 \(a_1,a_2 \dots a_{m-1},a_m\) 且 \(a_1<a_2 \dots a_{m-1}<a_m\). 数列中的一 ...

  6. UVA 529 - Addition Chains,迭代加深搜索+剪枝

    Description An addition chain for n is an integer sequence  with the following four properties: a0 = ...

  7. [POJ 2248]Addition Chains

    Description An addition chain for n is an integer sequence with the following four properties: a0 = ...

  8. Addition Chains POJ - 2248 (bfs / dfs / 迭代加深)

    An addition chain for n is an integer sequence <a0, a1,a2,...,am=""> with the follow ...

  9. C++解题报告 : 迭代加深搜索之 ZOJ 1937 Addition Chains

    此题不难,主要思路便是IDDFS(迭代加深搜索),关键在于优化. 一个IDDFS的简单介绍,没有了解的同学可以看看: https://www.cnblogs.com/MisakaMKT/article ...

随机推荐

  1. springMVC生成pdf文件

    pom.xml文件配置=== <!-- https://mvnrepository.com/artifact/com.itextpdf/itextpdf --> <dependenc ...

  2. 工具类输出当前ApplicationContext所有被装配的类

    package org.springblade.desk.utils; import org.springframework.beans.BeansException; import org.spri ...

  3. javap使用

    在反编译前你当然需要先编译这个类了进入当前目录下:javac -g SynchronizedTest.java(使用-g参数是因为要得到下面javap -l时的输出需要使用此选项) 编译完成后,我们在 ...

  4. [leetcode]114. Flatten Binary Tree to Linked List由二叉树构建链表

    /* 先序遍历构建链表,重新构建树 */ LinkedList<Integer> list = new LinkedList<>(); public void flatten( ...

  5. python实现AES/DES/RSA/MD5/SM2/SM4/3DES加密算法模板汇总

    都是作者累积的,且看其珍惜,大家可以尽量可以保存一下,如果转载请写好出处https://www.cnblogs.com/pythonywy 一.md5加密 1.简介 这是一种使用非常广泛的加密方式,不 ...

  6. javaweb基本知识(eclipse环境)

    javascrip有两种方式: ①外链式 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 < ...

  7. centos7安装手册

    一:centos7下载 下载centos可以访问阿里云完成centos 7.7下载(建议使用迅雷下载):http://mirrors.aliyun.com/centos/7.9.2009/isos/x ...

  8. TurtleBot3 Waffle (tx2版华夫)(1)笔记本上安装虚拟机、 Ubuntu 系统

    1.1虚拟机的安装 1.1.1.windows7系统建议安装14.1版本 VMware workstation 百度云链接: 链接:https://pan.baidu.com/s/1q6Lh9fMuX ...

  9. Element UI组件说明

    -<el-card>-查询及展示列表页面-[v-show]属性控制显示隐藏-<el-card class="box-card" >-多标签页面-<el ...

  10. fastjson复现项目代码

    详情请见:https://www.cnblogs.com/yunmuq/p/14268028.html 以下是代码 // FastjsonDemo.java package test; import ...