TopCoder problem "EscapeFromRectangle" used in SRM 311 (Division II Level One)



Problem Statement

    

You are currently at a point (x,y) inside a rectangle. The rectangle's bottom left corner is at (0,0) and its top right corner is at (w,h). Return the shortest distance you must travel in order to reach the rectangle's boundary.

 

Definition

    
Class:EscapeFromRectangle
Method:shortest
Parameters:int, int, int, int
Returns:int
Method signature:int shortest(int x, int y, int w, int h)
(be sure your method is public)
    
 

Constraints

-w and h will be between 2 and 1000, inclusive.
-x will be between 1 and w - 1, inclusive.
-y will be between 1 and h - 1, inclusive.
 

Examples

0)
    
1
1
5
5
Returns: 1
We can go either straight down or straight to the left.
1)
    
6
2
10
3
Returns: 1
Go straight to the upper boundary here.
2)
    
653
375
1000
1000
Returns: 347
Going straight to the right leads to success.
3)
    
161
181
762
375
Returns: 161

Problem url:

http://www.topcoder.com/stat?c=problem_statement&pm=6558

Problem stats url:

http://www.topcoder.com/tc?module=ProblemDetail&rd=9991&pm=6558

Writer:

gevak

Testers:

PabloGilberto , brett1479 , Olexiy , Andrew_Lazarev

Problem categories:

Simple Math