Problem Statement
There is a rectangular hole in the ground.
You are given the dimensions of this rectangle:
You have a rectangular board.
You are given its dimensions:
There are some rules you must follow when covering the hole:
- You may rotate the board, but you must place it so that the sides of the board are parallel to the sides of the hole.
- The board must cover the entire hole.
- All corners of the board must be strictly outside the hole. (That is, they are not allowed to lie on the boundary of the hole.)
If you can cover the hole using the board you have, return 1. Otherwise, return -1.
Definition
- Class:
- RectangleCoveringEasy
- Method:
- solve
- Parameters:
- int, int, int, int
- Returns:
- int
- Method signature:
- int solve(int holeH, int holeW, int boardH, int boardW)
- (be sure your method is public)
Constraints
- holeW, holeH, boardW, and boardH will be between 1 and 1,000,000,000, inclusive.
Examples
1
1
1
1
Returns: -1
The vertices of the board must not be on the boundary of the hole.
3
5
4
6
Returns: 1
One possibility is to place the board so that it extends over the hole by 0.5 on each side.
10
20
25
15
Returns: 1
Here we have to rotate the board by 90 degrees.
3
10
3
12
Returns: 1
1000000000
1000000000
1000000000
1000000000
Returns: -1
1000000000
1000000000
1000000000
999999999
Returns: -1
1000000000
1000000000
999999999
1000000000
Returns: -1
1000000000
1000000000
999999999
999999999
Returns: -1
1000000000
999999999
1000000000
1000000000
Returns: 1
1000000000
999999999
1000000000
999999999
Returns: -1
1000000000
999999999
999999999
1000000000
Returns: -1
1000000000
999999999
999999999
999999999
Returns: -1
999999999
1000000000
1000000000
1000000000
Returns: 1
999999999
1000000000
1000000000
999999999
Returns: -1
999999999
1000000000
999999999
1000000000
Returns: -1
999999999
1000000000
999999999
999999999
Returns: -1
999999999
999999999
1000000000
1000000000
Returns: 1
999999999
999999999
1000000000
999999999
Returns: 1
999999999
999999999
999999999
1000000000
Returns: 1
999999999
999999999
999999999
999999999
Returns: -1
59380716
230567922
892314287
389736837
Returns: 1
602841311
910449437
3919002
932964157
Returns: -1
128538656
214954110
144294055
898432969
Returns: 1
334773024
726544904
205916095
165099777
Returns: -1
67129349
721105430
371099570
127396315
Returns: -1
511998071
670448203
458277225
344992218
Returns: -1
202612029
399674588
579309961
86859026
Returns: -1
789273946
927982142
373793014
427816921
Returns: -1
740098069
697842470
24521941
725384387
Returns: -1
211788018
162920072
553590925
983540390
Returns: 1
309545398
706757531
550995393
565874838
Returns: -1
477912167
587449810
107057750
19832808
Returns: -1
242189128
809443043
354634354
206345777
Returns: -1
636061686
272277524
449841814
388424872
Returns: -1
770062869
270343529
57665564
120582048
Returns: -1
388615697
961075764
868869557
290052366
Returns: -1
708064945
821926059
539900934
358874372
Returns: -1
862731001
355386691
855618549
19415513
Returns: -1
1
2
3
4
Returns: 1
1
2
4
3
Returns: 1
1
3
2
4
Returns: 1
1
3
4
2
Returns: 1
1
4
2
3
Returns: -1
1
4
3
2
Returns: -1
2
1
3
4
Returns: 1
2
1
4
3
Returns: 1
2
3
1
4
Returns: -1
2
3
4
1
Returns: -1
2
4
1
3
Returns: -1
2
4
3
1
Returns: -1
3
1
2
4
Returns: 1
3
1
4
2
Returns: 1
3
2
1
4
Returns: -1
3
2
4
1
Returns: -1
3
4
1
2
Returns: -1
3
4
2
1
Returns: -1
4
1
2
3
Returns: -1
4
1
3
2
Returns: -1
4
2
1
3
Returns: -1
4
2
3
1
Returns: -1
4
3
1
2
Returns: -1
4
3
2
1
Returns: -1
5
3
3
10
Returns: 1
5
3
4
5
Returns: 1
1
2
2
1
Returns: -1
1
3
3
2
Returns: 1
3
1
2
3
Returns: 1
3
1
1
3
Returns: -1
3
2
3
3
Returns: 1
3
2
1
10
Returns: -1
2
2
2
3
Returns: 1
10
10
5
1000
Returns: -1
200
100
150
150
Returns: -1
1
2
1
5
Returns: 1
3
5
3
6
Returns: 1
5
4
5
5
Returns: 1
2
4
1
10
Returns: -1
4
9
8
6
Returns: -1
1
3
2
2
Returns: -1
1
3
3
1
Returns: -1
2
4
4
2
Returns: -1
1
5
2
4
Returns: -1
3
3
2
10
Returns: -1
2
3
3
2
Returns: -1
3
10
3
11
Returns: 1
4
5
6
2
Returns: -1
4
5
2
15
Returns: -1
5
9
8
6
Returns: -1
5
5
4
100
Returns: -1
2
100
1
200
Returns: -1
3
5
2
6
Returns: -1
3
10
4
7
Returns: -1
10
100
11
12
Returns: -1
3
2
7
1
Returns: -1
3
5
3
8
Returns: 1
1000000000
1
1000000000
1000000000
Returns: 1
2
2
1
100000
Returns: -1
10
10
11
10
Returns: 1
2
2
3
2
Returns: 1
1
5
2
3
Returns: -1
1
1
2
1
Returns: 1
3
5
4
5
Returns: 1
2
2
1
4
Returns: -1
1
2
3
1
Returns: 1
5
5
4
4
Returns: -1
3
4
2
8
Returns: -1
2
100
1
500
Returns: -1
3
2
4
2
Returns: 1
3
10
9
3
Returns: -1
5
6
7
5
Returns: 1
5
5
2
10
Returns: -1
4
2
4
4
Returns: 1
10
100
11
100
Returns: 1
4
6
5
6
Returns: 1
5
3
5
4
Returns: 1
2
3
1
10
Returns: -1
1
10
4
4
Returns: -1
10
5
12
12
Returns: 1
5
8
4
10
Returns: -1
2
1000
1001
1
Returns: -1
5
5
5
4
Returns: -1
1
2
2
2
Returns: 1
5
8
5
9
Returns: 1
3
4
4
4
Returns: 1
6
2
6
5
Returns: 1
3
5
2
10
Returns: -1
2
3
1
1
Returns: -1
5
5
4
7
Returns: -1
2
10
3
5
Returns: -1
2
5
1
6
Returns: -1
9
1
8
2
Returns: -1
20
4
22
3
Returns: -1
10
15
11
15
Returns: 1
3
5
5
3
Returns: -1
3
10
2
12
Returns: -1
10
3
3
25
Returns: 1
4
7
5
6
Returns: -1
3
1
1
4
Returns: 1
3
4
1
1000
Returns: -1
2
2
1
10
Returns: -1
3
3
3
4
Returns: 1
3
8
5
7
Returns: -1
5
10
7
10
Returns: 1
2
100
3
4
Returns: -1
9
9
1
1
Returns: -1
12
10
12
11
Returns: 1
2
2
1
6
Returns: -1
3
3
2
4
Returns: -1
3
4
1
9
Returns: -1
3
10
2
15
Returns: -1
5
5
10
5
Returns: 1
2
3
3
3
Returns: 1
6
7
13
1
Returns: -1
3
3
2
5
Returns: -1
3
3
4
4
Returns: 1
3
4
3
5
Returns: 1
4
5
5
5
Returns: 1
3
10
12
3
Returns: 1
1
100
2
100
Returns: 1
15
10
16
9
Returns: -1
2
2
1
3
Returns: -1
3
4
6
2
Returns: -1
3
1
2
2
Returns: -1
3
5
6
3
Returns: 1
2
3
4
2
Returns: 1
5
2
8
2
Returns: 1
3
5
5
5
Returns: 1
3
3
4
2
Returns: -1
4
10
5
5
Returns: -1
1
1
1
2
Returns: 1
3
10
3
25
Returns: 1
3
4
4
3
Returns: -1
2
1
3
1
Returns: 1
5
10
11
4
Returns: -1
1
10
3
4
Returns: -1
10
10
1000000000
1000000000
Returns: 1
1
10
3
6
Returns: -1
5
10
11
5
Returns: 1
10
10
1
20
Returns: -1
2
8
3
7
Returns: -1
10
5
11
5
Returns: 1
8
2
10
1
Returns: -1
5
4
6
4
Returns: 1
5
6
5
7
Returns: 1
5
5
7
4
Returns: -1
5
3
9
3
Returns: 1
10
10
100
5
Returns: -1
4
2
2
5
Returns: 1
1
1
1000000000
1000000000
Returns: 1
12
10
10
13
Returns: 1
1
5
2
5
Returns: 1
5
8
7
5
Returns: -1
10
3
9
3
Returns: -1