JOIN
Get Time

   Problem Statement  

 Problem Statement for Shadow

Problem Statement

    We are going to plant a tree on level ground near a streetlight, and we want to know how big a shadow it will cast. We will model the tree as a (possibly degenerate) rectangular solid, and treat the streetlight as casting rays from a single point. We will use an x,y,z coordinate system that is aligned with the rectangular solid and in which y is the distance above ground level.

int[] tree contains exactly 6 elements, namely the x,y,z coordinates of one corner of the rectangular solid followed by the coordinates of the diagonally opposite corner. int[] light contains exactly 3 elements, the x,y,z coordinates of the streetlight. Given tree and light, return the area of the shadow, or return -1 to indicate that the shadow has an infinite area. If the shadow is an infinitely long line, return 0 as its area.

 

Definition

    
Class:Shadow
Method:area
Parameters:int[], int[]
Returns:double
Method signature:double area(int[] tree, int[] light)
(be sure your method is public)
    
 

Notes

-A return value with either an absolute or relative error of less than 1.0E-9 is considered correct.
 

Constraints

-tree will contain exactly 6 elements.
-light will contain exactly 3 elements.
-Each element of tree and of light will be between 1 and 10, inclusive.
-The coordinates of the light will not lie on the boundary of the tree.
 

Examples

0)
    
{1,1,1, 10,1,1}
{5,5,5}
Returns: 0.0
This tree is just a line so its shadow has no area.
1)
    
{1,3,1, 10,1,1}
{2,2,2}
Returns: -1.0
This tree is just a rectangle. Its shadow covers an infinite rectangular area on the ground.
2)
    
{1,1,1, 2,2,2}
{3,3,3}
Returns: 15.75
This is a unit cube one unit above the ground. The shadowed area is a six-sided polygon.
3)
    
 {1,1,1, 3,3,3} 
{2,2,2}
Returns: -1.0
When the light is inside the tree the shadow extends everywhere.

This problem statement is the exclusive and proprietary property of TopCoder, Inc. Any unauthorized use or reproduction of this information without the prior written consent of TopCoder, Inc. is strictly prohibited. (c)2010, TopCoder, Inc. All rights reserved.

This problem was used for:
       Single Round Match 336 Round 1 - Division I, Level Three