04 2013 档案
摘要:Problem Description小H是一个程序员。但是他很喜欢一些新奇的东西。有一次,他去找物理实验室的朋友玩。他见到了一串非常有意思的粒子。N个粒子排成一排。每一秒中,每一段连续的粒子中会随意有一个爆炸,爆炸后该粒子就消失了,且将原来连续的一段粒子分隔成两段。小H希望知道所有粒子都爆炸完的期望时间。Input 第一行为一个整数T(1 <= T<= 400),表示有T组测试数据; 每组数据一个正整数N(1<=N<=400),表示一开始的粒子数。Output 对于每组数据,输出期望时间(秒)。保留五位小数。Sample Input3123Sample Output1
阅读全文
摘要:AppleTime Limit :10000/5000ms (Java/Other) Memory Limit : 65535/32768K (Java/Other)Problem Description小H是一个程序员,但他的生活不局限在写程序。有一天,他走到公园散步。他见到公园的一棵苹果树上结满了苹果。他于是拿起石头,想砸几个苹果下来当第二天的早餐。突然他思考到了一个问题:怎样才能一次砸到最多苹果?我们考虑该局面是这样一个模型:所有东西位于二维笛卡尔坐标系,其中小H位于原点,苹果们分别在坐标系的整点上。石头飞出的轨迹是一条经过原点的抛物线,确切的说,经过的是 y=ax^2+bx 的抛物线(
阅读全文
摘要:很多书上,都很笼统的说,cin用于提取输入缓冲区的字符,且自动转换赋给接收的变量(如char 、int 、double等类型),以空白字符(blank、\n ,\t)作为分隔提取,getline用于提取整行数据,以换行符作为分隔。 具体的说,cin在开始提取的时候,会跳过所有空白字符(blank,\n,\t),直到第一个非空白字符才开始提取,对于提取字符串(string类型)而言,然后就会一直提取直到遇到空白字符,结束提取。此时,空白字符不会被丢弃,仍然留在输入缓冲区内;对于其他类型(如int),则会一直提取到不属于该类型的字符截止。如果遇到类型错误,cin就会置failbit位为有效...
阅读全文
摘要:Description有一个方格矩阵,矩阵边界在无穷远处。我们做如下假设:a.每走一步时,只能从当前方格移动一格,走到某个相邻的方格上;b.走过的格子立即塌陷无法再走第二次;c.只能向北、东、西三个方向走;请问:如果允许在方格矩阵上走n步,共有多少种不同的方案。2种走法只要有一步不一样,即被认为是不同的方案。Input允许在方格上行走的步数n(n <= 20)Output计算出的方案数量Sample Input2Sample Output7思路 设F(n) 为走n步的方案数,则 F(0)=1;F(1)=3;F(n) =F(n-1) + 2 * { F(n-2) + F(n-3) + ..
阅读全文