计算时间间隔的一个算法的求解问题,怎么利用C语言的程序代码编写的方式实现这个程序的计算的?

Problem Description
“JezzBall is a computer game in which red-and-white ‘atoms’ bounce about a rectangular field of play. The player advances to later levels (with correspondingly higher numbers of atoms and lives) by containing the atoms in progressively smaller spaces, until at least 75% of the area is blocked off.” (wikipedia.org)
The picture to the right is a screenshot from the original game, where the player has already covered some space (the black part). In this problem we will consider a slightly different, non-discrete, version of the game. That is, while the length unit is still pixels, you should treat them as non-discrete in the sense that all objects can be at non-integer coordinates and all movements are continuous.

The size of the playing field will be 1024 × 768 pixels. The atoms that bounce around will be infinitely thin (and not round balls like in the screenshot). The atoms will move at a constant speed and only change direction when hitting the edge of the playing field (x-coordinate 0 and 1024 or y-coordinate 0 and 768), where they bounce without loss of energy. The atoms do not hit each other.

The player can divide the playing field in two by shooting a horizontal or vertical ray from (in this problem) a fixed point on the playing field. The ray will then extend in both directions simultaneously (up and down for vertical rays, or left and right for horizontal rays) at a uniform speed (in this problem always 200 pixels per second). The rays will also be infinitely thin. If no atom touches any part of the ray while it’s still being extended, the field has successfully been divided. Otherwise the player loses a life.

If an atom touches the endpoint of an extending edge, this will not be counted as a hit. Also, if an atom hits the ray at the same instant it has finished extending, this will also not count as a hit. Write a program that determines the minimum time the player must wait before he can start extending a ray so that an atom will not hit it before the ray has been completed.

Input
Each test case starts with a line containing a single integer n, the number of atoms (1 ≤ n ≤ 10). Then follows a line containing two integers, x and y, the position where the two ray ends will start extending from (0 < x < 1024, 0 < y < 768). Then n lines follow, each containing four integers, x, y, vx and vy describing the initial position and speed of an atom (0 < x < 1024, 0 < y < 768, 1 ≤ |vx| ≤ 200, 1 ≤ |vy| ≤ 200). The speed of the atom in the x direction is given by vx, and the speed in the y direction is given by vy. All positions in each input will be distinct. The input is terminated by a case where n = 0, which should not be processed. There will be at most 25 test cases.

Output
For each test case, output the minimum time (with exactly 5 decimal digits) until the player can extend either a horizontal or vertical ray without an atom colliding with it while it is being drawn. The input will be constructed so that the first time this occurs will be during an open interval at least 10-5 seconds long. If no such interval is found during the first 10000 seconds, output “Never” (without quotes).

Sample Input
3
700 420
360 290 170 44
900 150 -53 20
890 100 130 -100
4
10 10
1 1 192 144
513 385 192 144
1023 767 -192 -144
511 383 -192 -144
0

Sample Output
2.80094
Never

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问

相似问题

0
这个和时间日期计算的算法问题是如何利用C语言编程技术的方式来求解的呢?
0
子树的查询的一个算法的问题,如何利用C语言的方式去计算
0
一个数值计算的数学的问题的算法C语言求解的办法,怎么实现编程的
0
数列的倍增的一个算法题目的求解的过程,如何利用C语言的计算的编程?
0
数组移动转换的问题的求解方式,怎么利用C语言算法的实现
0
数列的翻转表的一个算法的问题的求解,用C语言的程序编写怎么实现的啊
0
计算最大质因数的一个算法的问题,怎么利用C语言的程序设计的思路来解决
0
循环队列的旋转的一个算法问题怎么利用C语言的程序的编写来求解的
0
一个rank的分类的一个算法的问题,用了C语言的程序的设计怎么求解的
1
方块染色算法的计算机的求解过程,怎么利用C程序语言的设计的技术来编写代码的
0
数据结构里用队列去求解的一个算法问题的解答,怎么利用C程序的语言设计的方式呢
0
时间间隔在算法问题里的运用的一个问题,怎么利用C语言的程序的编写的过程去实现的
0
矩阵的轮替的一个算法的求解的办法,怎么利用C语言的程序的设计的思路去实现的?
0
最短的路径的判断的计算的一个算法问题,怎么利用C语言的程序的设计实现的?
0
稳定性的计算的一个算法的问题,怎么利用C语言的程序的设计的办法的思路去实现?
0
计算一个字符串重复的次数的一个算法的问题的求解,怎么利用C程序的编写的技术去实现呢?
0
分解质因子的一个算法问题求解,怎么采用C程序的代码的语言的程序的编写的技术实现的?
0
C语言统计商品的价格和数量的一个算法问题的求解,怎么用代码的编写的方式去加以实现?
0
矩阵的旋转的算法的求解,怎么利用C程序的代码的编写的技术实现的呢?
0
数据结构队列问题的综合的运用计算,怎么采用C语言的程序设计的方法来编写的代码实现算法的求解?