Problem Statement
A knight circuit is a sequence of cells on a chessboard that starts and ends with the same cell. Each consecutive pair of cells in the knight circuit must correspond to a single jump of the knight. The knight circuit may visit each cell arbitrarily many times. The size of a knight circuit is the number of different cells visited by the circuit.
You are given the
Definition
- Class:
- KnightCircuit2
- Method:
- maxSize
- Parameters:
- int, int
- Returns:
- int
- Method signature:
- int maxSize(int w, int h)
- (be sure your method is public)
Constraints
- w and h will each be between 1 and 45000, inclusive.
Examples
1
1
Returns: 1
Note that a sequence that consists of a single cell is considered to be a valid knight circuit.
15
2
Returns: 8
If you start at any corner of the board, it is possible to move the knight to visit 8 cells, and then do the same moves in reverse in order to return to the starting cell. One possibility for the first eight cells of an optimal knight circuit is shown below: 1...3...5...7.. ..2...4...6...8
100
100
Returns: 10000
It is possible to make a Knight circuit that contains all the cells on the board.
3
3
Returns: 8
5
4
Returns: 20
3
2
Returns: 2
1
45000
Returns: 1
45000
1
Returns: 1
1
22279
Returns: 1
1
39878
Returns: 1
43270
1
Returns: 1
13784
1
Returns: 1
1
27255
Returns: 1
29043
1
Returns: 1
1
5043
Returns: 1
1
21932
Returns: 1
13510
1
Returns: 1
39576
1
Returns: 1
2
2
Returns: 1
2
15463
Returns: 7732
23900
2
Returns: 11950
10827
2
Returns: 5414
27471
2
Returns: 13736
10856
2
Returns: 5428
22189
2
Returns: 11095
2
16267
Returns: 8134
11416
2
Returns: 5708
2
7641
Returns: 3821
2
5887
Returns: 2944
9663
2
Returns: 4832
2
7417
Returns: 3709
2
44820
Returns: 22410
12338
2
Returns: 6169
11540
2
Returns: 5770
2
33896
Returns: 16948
39060
2
Returns: 19530
34885
2
Returns: 17443
39519
2
Returns: 19760
7236
2
Returns: 3618
3
29038
Returns: 87114
3
39515
Returns: 118545
11345
3
Returns: 34035
2473
3
Returns: 7419
26591
3
Returns: 79773
3
25053
Returns: 75159
10661
3
Returns: 31983
3
362
Returns: 1086
3
32740
Returns: 98220
3
5936
Returns: 17808
3
8468
Returns: 25404
3
12128
Returns: 36384
3
31858
Returns: 95574
3
34476
Returns: 103428
28802
3
Returns: 86406
32913
3
Returns: 98739
18628
3
Returns: 55884
3
8306
Returns: 24918
19097
3
Returns: 57291
25406
3
Returns: 76218
2541
20856
Returns: 52995096
14419
12565
Returns: 181174735
38541
42422
Returns: 1634986302
11035
14984
Returns: 165348440
14034
5341
Returns: 74955594
9038
19759
Returns: 178581842
8390
11828
Returns: 99236920
9918
28487
Returns: 282534066
30892
30300
Returns: 936027600
18127
12992
Returns: 235505984
34788
34923
Returns: 1214901324
20739
15623
Returns: 324005397
23954
26913
Returns: 644674002
13419
28274
Returns: 379408806
28689
4500
Returns: 129100500
28530
31815
Returns: 907681950
22985
1063
Returns: 24433055
17051
34304
Returns: 584917504
13245
30758
Returns: 407389710
950
19702
Returns: 18716900
31665
29950
Returns: 948366750
41419
14625
Returns: 605752875
38383
37867
Returns: 1453449061
12259
348
Returns: 4266132
40450
22196
Returns: 897828200
2614
17017
Returns: 44482438
25447
27169
Returns: 691369543
16903
16123
Returns: 272527069
31014
17527
Returns: 543582378
7177
35843
Returns: 257245211
5
5
Returns: 25
4
4
Returns: 16
1
100
Returns: 1
45000
45000
Returns: 2025000000
3
5
Returns: 15
51
51
Returns: 2601
4
2
Returns: 2
3
4
Returns: 12
2
100
Returns: 50
99
98
Returns: 9702
3
7
Returns: 21
2
4
Returns: 2
16
2
Returns: 8
1
3
Returns: 1
1
7
Returns: 1
1
123
Returns: 1
99
45000
Returns: 4455000
1
10
Returns: 1
33
3
Returns: 99
1
1234
Returns: 1
9
45000
Returns: 405000
5
2
Returns: 3
10
45000
Returns: 450000
45000
50
Returns: 2250000
2
45000
Returns: 22500
4
45000
Returns: 180000
10
3
Returns: 30
45000
98
Returns: 4410000
1
199
Returns: 1
80
45000
Returns: 3600000
45000
99
Returns: 4455000
3
45000
Returns: 135000
2
3
Returns: 2