转跳到内容

每 日 算 法 挑 战【特别篇(x)】


推荐贴

主要今天要参加一个不得不参加的校赛

在最后的30分钟实在做不出来了

决定问问万能的网友(x)

54分更新:艹   原来这里有好无脑的方式做   现在已经做出来了

题目描述

Cubercsl 很喜欢 01 字符串,就像“她喜欢大海”,这一天他想送她一个由 01 字符串组成的集合。
他自然是希望这个集合越多样化越大越好。所以他希望这个集合满足以下条件。
  • 每个字符串由 0 和 1 组成。
  • 每个字符串长度在 1 到 n 之间,且两两长度不同。
  • 集合中任何一个字符串都不是其他字符串的子串。
请你帮他找到满足他要求的最大的集合。
字符串 a 是 b 的子串当且仅当从 b 的头部和尾部删除一些字符(可以是零个或者所有)能得到的 a。

输入描述:

仅一行,包含一个整数 n(1≤n≤300)。

输出描述:

第一行输出这个集合的大小 k。
接下来 k 行每行输出一个 01 字符串,表示这个集合的一个元素。
答案不唯一,任何符合要求的答案都会被判为正确。
示例1

输入

1

输出

1
1
示例2

输入

5

输出

4
00
110
1010
11111

(反正菜鸡如我已经是做不来了)

:NEKOMIMI_PARADISE_27:

,由原初の冷火修改
注释
摸鱼奇才咖啡喵 摸鱼奇才咖啡喵 200.00节操 次翻车鱼刺身~
链接到点评
20 小时前, 原初の冷火 说道:

其实啊

可以

00

010

0110

01110

……

那么问题就变成了证明最长N位的满足要求的集合 其元素数最大是N-1?

哦没事了 要求长度两两不一 那显然最大是N-1 因为不能有1位的

,由ppzt修改
链接到点评
×
×
  • 新建...

重要消息

为使您更好地使用该站点,请仔细阅读以下内容: 使用条款