Apple
Time Limit : 10000/5000ms (Java/Other) Memory Limit : 65535/32768K (Java/Other)
Problem Description
小H是一个程序员,但他的生活不局限在写程序。
有一天,他走到公园散步。他见到公园的一棵苹果树上结满了苹果。他于是拿起石头,想砸几个苹果下来当第二天的早餐。突然他思考到了一个问题:怎样才能一次砸到最多苹果?
我们考虑该局面是这样一个模型:所有东西位于二维笛卡尔坐标系,其中小H位于原点,苹果们分别在坐标系的整点上。石头飞出的轨迹是一条经过原点的抛物线,确切的说,经过的是 y=ax^2+bx 的抛物线(a<0)。石头砸到一个苹果后,该苹果会落下,且石头不会改变运动轨迹。
现在小H希望求扔一个石头最多砸到的苹果数。
Input
第一行为一个整数T(1 <= T<= 10),表示有T组测试数据;
每组数据第一行一个正整数N(1<=N<=2000),表示苹果数。下面N行每行两个整数给出每个苹果的坐标xi, yi(1<=xi<=1000, 1<=yi<=1000000)。
Output
对于每组数据,输出最多可能砸到的苹果数。
Sample Input
2
4
1 3
2 4
3 3
4 4
2
1 1
1 1
Sample Output
3
2
这是一个关于砸苹果问题的趣味算法题目,小H需要通过投掷石头来砸中最多的苹果。题目提供了测试数据,包括苹果的数量和位置,并要求计算出一条最优路径能够砸中的最大苹果数量。
1186

被折叠的 条评论
为什么被折叠?



