2085: 双城记 A Tale of Two Cities
内存限制:256 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:4
解决:3
题目描述
帮助Tom和Jerry解决了问题后,它们愉快的带着crazygirl来到了双城。
双城虽说是叫双城,但是其实只是一座被一条河流分成东西两半的城市。
双城的户籍系统很神奇。每一个人都有一个不重复编号。每出生一个人,这个人的标号就会变为原先的最大标号加一。每过世一个人,如果生前他的标号不是最大的,当前标号最大的人的标号就会变为逝者的标号。这样,双城所有居民的标号就始终恰好为1-n。另外双城城主不需要户籍,因此没有标号。
住在河流之上的悬浮花园的双城城主很喜欢2这个数字。于是下令,所有住在东边的居民,如果标号为自己2倍再加2的人没有住在西边或者是干脆不存在,那么他必须搬出去;所有住在西边的居民,如果没有任何一个住在东边的居民标号乘2再加2等于他的标号,他也必须搬出城。
这个命令一下,所有的居民顿时叫苦不迭。他们听说crazygirl刚刚解决了Tom和Jerry的他们都不会的问题,于是乎请求crazygirl帮忙重新安排他们的住宿方案,使得能够住在城里的人尽量多。
输入
一行一个整数n
输出
一行一个整数表示居住在城内的最大人数
样例输入 复制
10
样例输出 复制
6
提示
【数据规模】
对于10%的数据 1 <= n <= 10
对于30%的数据 1 <= n <= 1000
对于80%的数据 1 <= n <= 1018
对于90%的数据 1 <= n <= 101000
对于100%的数据 1 <= n <= 1010000
Hints
看不懂题目?
抽象成数学模型
1-n的整数,放入A集合和B集合
不用全部放入
A,B交集为空且A B大小相等
对于所有的x∈A,总有2x+2∈B
求A和B中最多共有多少元素