2014新生暑假个人排位赛07 B.最长数链
来源:互联网 发布:下载安装农村淘宝app 编辑:程序博客网 时间:2024/05/22 07:50
B. 最长数链
时间限制 1000 ms 内存限制 65536 KB
题目描述
现有正整数集A={i|i>0&&i<=n},求A的子集合B,使得对于任意x属于B,y属于B,x整除y或y整除x。优先考虑所含元素多的子集合,然后优先考虑所含元素和大的子集合,然后优先考虑字典序小的子集合。
输入格式
每组数据包含一行一个整数n(n<1e5).输入以EOF结束。
输出格式
每组数据输出一行,从小到大输出所求集合,注意行尾不要有空格。
输入样例
6100
输出样例
1 3 61 3 6 12 24 48 96
啊,一开始wa,是想法有误。一开始觉得基数2,3选择一个就可以了,选择倍数大得那个,但是实际上应该选择,基数不断乘以2后,最接近n的那个数,比如n=6时,1 3 6就比
1 2 4 大。
#include <cstdio>#include <iostream> using namespace std; int main(){ int n,k= 0; while(~scanf("%d",&n)) { if(n != 1) printf("1 "); for(k = n; k >= 4; k/=2); for(int i = k; i <=n;) { printf("%d",i); i *= 2; if(i < n) printf(" "); //行尾不能有空格 else { if(i==n) printf(" %d",i); break; } } printf("\n"); }}
0 0
- 2014新生暑假个人排位赛07 B.最长数链
- 7.28-2014新生暑假个人排位赛07
- 2014新生暑假个人排位赛07
- 2014新生暑假个人排位赛01 B. 学姐去学车
- 2014新生暑假个人排位赛05 B. 立方体
- 2014新生暑假个人排位赛01 E. 数的关系
- 2014新生暑假个人排位赛07 A.暑假作业题
- 2014新生暑假个人排位赛07 C.三角形的传说
- BOJ 2014新生暑假个人排位赛07 整合
- BUPT2014新生暑假个人排位赛07
- BUPT 2014新生暑假个人排位赛01
- BUPT 2014新生暑假个人排位赛02
- 【总结】2014新生暑假个人排位赛03
- 【总结】2014新生暑假个人排位赛02
- 【总结】2014新生暑假个人排位赛01
- BUPT 2014新生暑假个人排位赛03
- 7.14-2014新生暑假个人排位赛01
- 7.16-2014新生暑假个人排位赛02
- 51Talk-Level 7 Unit 1 L3
- hdu-oj 1017 A Mathematical Curiosity
- <MFC实践>定时器详解及其简单实例二则
- theme主题
- thinkPHP 01 介绍以及安装
- 2014新生暑假个人排位赛07 B.最长数链
- Linux基础
- 试了一下一致性哈希(consistent hashing)
- <游戏开发中的人工智能> -- 阅读笔记
- Git项目管理 第1章 Git版本控制软件安装与使用
- JavaScript基础语法
- 全球最快光纤诞生:下载1GB电影只需0.2毫秒
- 多线程编程之 NSOperationQueue
- 图解WLAN网络拓补结构