Problem Statement
- empty: is always passable (represented by a '.');
- contains a kind creature (represented by a 'K'): is passable, unless the creature is in a bad mood. This happens if the number of the second at which you enter it is divisible by K;
- contains a cruel creature (represented by a 'C'): is impassable, unless the creature in in a good mood. This happens if the number of the second at which you enter it is divisible by C.
You are given a
Definition
- Class:
- KindAndCruel
- Method:
- crossTheField
- Parameters:
- String, int, int
- Returns:
- int
- Method signature:
- int crossTheField(String field, int K, int C)
- (be sure your method is public)
Constraints
- field will contain between 2 and 50 characters, inclusive.
- Each character in field will be '.', 'K' or 'C'.
- The first and the last characters of field will be '.'.
- K and C will be between 1 and 50, inclusive.
Examples
"..."
2
5
Returns: 2
There are no creatures on the field, so you just go two cells to the right in two seconds.
".K.C."
3
4
Returns: 5
At second 1, you move to the cell with the kind creature. At second 2, you move right to the empty cell. At second 3, you wait in the empty cell, because you can't enter the cell with the cruel creature yet. At second 4, the cruel creature is in a good mood and you can enter its cell. Finally, at second 5 you enter the rightmost cell.
".CCCC."
3
5
Returns: -1
You can not pass.
".CCCC."
3
1
Returns: 5
Seemingly cruel creatures are always in good mood, so you can pass easily.
".K."
1
13
Returns: -1
Seemingly kind creature is always in bad mood, so you can not pass.
".."
7
4
Returns: 1
Min test
".C.KKKC.CKK."
4
5
Returns: 28
At most K-1 kind creatures can be in row, and at most 1 cruel, unless C=1
".CKKKKCKKKKC.KKKKCKKKKC.CKKKKCKKKKCKKKKCKKKKCKKKK."
5
5
Returns: 60
".KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKC."
48
49
Returns: 2353
max test - 2353
".KKKKKKKC..KKKKKKKC..KKKKKKKC..KKKKKKKC..KKKKKKKC."
8
49
Returns: 1961
several tests with series KKKKC repeated
".KKKKKKKKC.KKKKKKKKC.KKKKKKKKC.KKKKKKKKC.KKKKKKKC."
9
50
Returns: 2151
".KKKKKKKKKKKKKKKKKKKKKKC.KKKKKKKKKKKKKKKKKKKKKKC."
23
50
Returns: 2301
2300
".CKKKKKKKKKKKKKKKKKKKKKK..CKKKKKKKKKKKKKKKKKKKKKK."
23
50
Returns: 2323
2323
".CKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK."
48
49
Returns: 2400
better max test - 2400
".CKKKKKKKK.CKKKKKKKK.CKKKKKKKK.CKKKKKKKK.CKKKKKKK."
9
8
Returns: 360
".KKK.K.CKCCCK.KCCKCC.KK..CCCK.CCC.KCKC.KK."
7
38
Returns: -1
"..KCKKCCKKCKKKCCC.CK."
18
9
Returns: -1
".K.KKCCKCCK.CKC.KCKKCK.CKKKKKCCKKCK.KKKCK.CCCKCK."
27
1
Returns: 52
".K.KCCC.KKKKK.C..CK.K.K.KKK.KKCCKCKKKCCKC."
42
41
Returns: -1
"..K.KKCKKKCKKKCKK.C.."
36
22
Returns: 442
"..KCKK.CKKKK."
13
23
Returns: 51
".KCK."
27
28
Returns: 58
".KCCKC..KCKKKKKCKC."
9
37
Returns: -1
".KKKCKKC.CKKKKCKCC.K.CCKCKKCKKK.CK.KCKK..CCCKKKK.."
31
37
Returns: -1
".KKCKKKC.KK.K..CKKKKC."
6
47
Returns: -1
".CKKKKKK."
19
38
Returns: 45
".CK.K.KCKCKKC.CKK.KK.KKK.K.KKCKKKKKK."
35
19
Returns: 729
".KKKKKC."
14
21
Returns: 22
".C.KCCC..KKCKCKK.K.KKCCCCC.."
12
1
Returns: 28
".CKC.CC....CCCKCK.C..K.CKKC...K.KCKCK.K.K."
15
18
Returns: -1
".C..K."
39
29
Returns: 33
".KKKK.K.CKKK.KKKK."
43
8
Returns: 17
"..KKK."
14
27
Returns: 5
".KKKKKCKKKK.KKCK.CKKCKKKKKKK."
30
9
Returns: 53
".KKKKKKKKKKKK.CKKCKKKKKKKKKK.KKKKKKCKKK."
16
35
Returns: -1
".KK..KKKKKC.KKKKKKKKKKKKK.KCKKKKKKCKKKKKKKCKKK."
47
7
Returns: 74
"..KKKKKKKKKKKCKKKCKCKKCKKKKK.KKC."
2
6
Returns: -1
".KKK.KCCKKCKKKKKKKK.KCKKKKKK.KKKK.C.KKCCKKKK."
11
11
Returns: -1
".KC.KKCKKKKKKKKCKKKKKK..KKKKKK.KKCKK."
13
8
Returns: -1
".K.KKKKKKKKKK."
41
46
Returns: 13
"..KK.KKKKKKKCK.KK."
19
33
Returns: 38
".CKKKKKK...KKKKKKKKKCKKKKKKKKK.CKKKKKKKKK..KKKKK."
39
34
Returns: 153
"..CKKKCKKKKKKKKKKKKKKKKKKKKKKKKK.K."
48
50
Returns: -1
"...C.CK.CKKKKKK.K..."
35
7
Returns: 32
"..KKKKCKKKKC..CKCKKC.KK.C.."
14
7
Returns: 44
".KKKKKKKKK.KKKKKKK..CKKKKKKK..KKKKKKCKKKK."
47
49
Returns: 201
".CKKKC."
26
34
Returns: -1
".KKKKKKKKKKKKKC.K.."
25
19
Returns: 23
".KKCKKKK.KKKKKKKKKKKKKKKK."
25
10
Returns: 42
".KKKKKKKC..C.KKKKKKKKKKKKKKKKKKKKK.KKKK.."
36
43
Returns: 172
".KKK.."
5
36
Returns: 5
".CKKKK.KK.CKKKKKCKKKKK.C.C.CKK.CK.CK."
6
22
Returns: -1
".CKKKKKKKCKKK."
47
25
Returns: 79
"..C.KKKKKKKKKKKKKKK....C.KKKKK.CK.KK."
48
23
Returns: 74
".KKKKKKKKKKKKKKKKKKKKKKKKKC.KKKKKKKKKCKKKKKKKKKKK."
46
15
Returns: 72
"..KKKKKKKKKKKKKKK..C.C.KKKKKKKKKKK.KKKKKKKKKC..KC."
20
15
Returns: 91
"..KKKKKKKKKK...CKKC.C.K.."
21
8
Returns: 45
".KKC."
45
45
Returns: 46
".CKKKKKKKKK..CKKKKKK.CKKKKKKKKKKKKKKKK..KC."
23
8
Returns: 73
"..C.CKKKKKKKK...C.....KKKKKK."
10
38
Returns: 240
".KKKKKKCKCKKKKKKKKCKKKKKK..K..C."
14
4
Returns: -1
".C...CKKKKKKKK..KKKKKKKKKKKKKKKKKKKKKKKK."
41
2
Returns: 41
".K.KKKKKK..."
11
9
Returns: 11
"..CKKKKKKKKKKKKKKKKKKKKKKKK.KKKKKKKKKCKKKKKKC.."
34
22
Returns: 376
".KKKKKKKKKKKK."
14
34
Returns: 13
".C.KKKKKKKKKKKKKKK.KKKKKKKKKKKC.KCKKKK."
30
21
Returns: 110
".KKKKKKKKKKKKKKKKKKKKKKCKKKKK.CK.."
38
50
Returns: 153
".KKKKKKKKKC...C."
21
14
Returns: 29
"..KC."
4
48
Returns: 49
"..KKKKKKKKKKKKKKKKKKC.CKCKK."
36
30
Returns: 183
".KKKKKKKKK.KKK."
32
33
Returns: 14
"....CCCC..........CCCCCCC.CCCCCCCCCCC."
1
1
Returns: 37
a challenge for solution which returns -1 if K=1 without checking whether there are any Ks
"..K.KKKKKK......KKKK...KKKKKK.KKKKK."
7
13
Returns: 41
no Cs
".CKC.CKC."
10
9
Returns: 181
".CKC.CKC.CKC.CKC.CKC.CKC.CKC.CKC.CKC.CKC.CKC.CKC."
50
49
Returns: 29401
".CK..CKKKCKKK.CKC.KKK....KKKK.KKKKK..KK.KK."
50
49
Returns: 4926
".CKK.KCK.CK..K.CKCKKKK.KKCKKCKCK.KKKCKCKCK.."
45
41
Returns: 5579
".KKK..KC...KCKC.C....K..K.C.CKKC..C.CKC..K..K."
47
46
Returns: 6493
"..CKC..CKC.CKCK.C..C.KCKC.KKC..K."
43
42
Returns: 7312
"..CKKCKKCK.KK.KKKCKKCK.KCKCKKKKKKKC..KKCKKC."
47
44
Returns: 8273
"...KKK...C.K.C.KK.C.KKKK.C...KKC.KK.C.KKKK.C."
5
11
Returns: 111
".CKKCKKKC."
5
4
Returns: 25
".CK..CK..CK..CK..CK..CK..CK..CK..CK..CK..CKCK."
3
5
Returns: -1
"..............KCK."
4
5
Returns: 22
".KKCKCKCKCKCKCKKCKCK."
3
7
Returns: -1
".C..KCKCKKC.C...K.CKK.CKCKKC..C.KKKK...C.CKC..KC.."
49
25
Returns: 2602
"...KCKKC."
4
2
Returns: 9
".CCCCC."
5
1
Returns: 6
"..."
1
1
Returns: 2
"..K.C.K.C.K.C.K.CK.C.K.C.KC.K.C.K.C.KK.K.KCK.C.K.."
3
2
Returns: 69
".CKC.CKC.CKC.CKC.CKC.CKC.CKC.CKC.CKC.CKC.CKC.CKC.."
50
49
Returns: 29402
".K."
1
1
Returns: -1
".KKC."
3
5
Returns: 16
".KKKKKKKKKKC....KCKK."
11
7
Returns: 87
".KKKK."
2
5
Returns: -1
".C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C."
1
50
Returns: 1201
".CC."
50
1
Returns: 3
"...KKKCK.KKK.KK.C.KKK.KK.CK.KK.KKK.K..C.CKK.KK.KK."
4
4
Returns: 63
".K..KCKKK.KCK..KCKKC.C.C.C.C..KC.C.C.C.C.C.C.CK."
25
24
Returns: 914
"....CKKKCCCKK."
6
1
Returns: 15
".KCK.KCK.KCK.KCK.KCK.KKC.KCK.KCK.KCK.KCK.KCK.KCK."
3
50
Returns: 1802
".CCCC."
1
1
Returns: 5
".CKKKKK."
6
7
Returns: 48
"..CKCK."
47
46
Returns: 2164
".C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.."
5
49
Returns: 1178
".KKKCK."
5
2
Returns: 12
".CKKKKCKKKKC.CKKKKCKKKKC.CKKKKCKKKKC."
50
49
Returns: 7400
"..KC."
3
4
Returns: 9
".KKKKKKKKKK."
2
2
Returns: -1
"..CC."
1
1
Returns: 4
".KKKCKCKKK."
4
2
Returns: 12
".CC."
3
1
Returns: 3
".KKC."
3
2
Returns: 7
".......................................KKKKKCCCCC."
30
30
Returns: -1
".KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKC."
49
50
Returns: 2401
".KKKKCKKKKKCKK."
7
3
Returns: -1
"...K."
1
1
Returns: -1
".CCC."
1
1
Returns: 4
".CKCKC..CKCKC..CKCKC..CKCKC..CKCKC..CKCKC..CKCKC."
47
41
Returns: 13531
".CKKKKC...CKKCKC...CKKCKC...CKKKKC.."
5
50
Returns: -1
".KCK."
5
6
Returns: 14
"..CK."
4
3
Returns: 8
".CKKKKCKKKKC.KKKKCKKKKC.CKKKKCKKKKCKKCKCKKCKCKCKC."
5
5
Returns: 76
".CC."
1
1
Returns: 3
".K...K...K...K..."
3
1
Returns: 17
"..KKKKK."
3
2
Returns: -1
"....."
1
2
Returns: 4
".CKKKC."
4
5
Returns: -1
".KKKKC........K.K.K.K.K..K.K.K.K.K.K.K.K.K.K.K.K."
5
4
Returns: 69
".CKKKKCKKKKC.KKKKCKKKKC.CKKKKCKKKKCKKKKCKKKKCKKKK."
50
50
Returns: 505
"..KC."
3
5
Returns: 6
".KK."
1
10
Returns: -1
".KCKKCKKC."
5
3
Returns: 19
".KCKKKK."
5
2
Returns: 15
".CC."
5
1
Returns: 3
".KKCKK."
3
30
Returns: 33
"...K."
3
3
Returns: 5
".C.CC.K...CKK.KCCC.CCCKCCCCK...C.CC.KK.CCC...KK.C."
6
1
Returns: 53
"..C."
50
50
Returns: 51
".KKKC."
5
50
Returns: 51
"....KKKKK.."
7
10
Returns: 14
"..KKK."
4
50
Returns: 8
"..."
1
2
Returns: 2
".....KKKKCKKKKKKCKK.KKKCKKK.."
7
3
Returns: -1
"..KKKKCKKKK."
5
4
Returns: 25
".KKCK.CKKC..KKC..K.C..CK..."
50
49
Returns: 2601
"...KK."
4
2
Returns: 7
"...CK."
4
3
Returns: 8
".CKCKKKC."
4
3
Returns: -1
".CK."
5
4
Returns: 10
".KC."
8
9
Returns: 19
".C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.."
50
50
Returns: 1202
".CKKKKCKKKKC.KKKKCKKKKC.CKKKKCKKKKCKKKKCKKKKCKKKK."
5
4
Returns: -1
".CKKKC."
6
5
Returns: 31
".CCCCCCCCCCC."
1
1
Returns: 12
"....."
1
3
Returns: 4
".K.C...........................KC....CCCCCKKKKK..."
3
4
Returns: -1
"...CC..."
20
1
Returns: 7
".C."
1
50
Returns: 51
".KKKCKKCKKKCKKCKKKCKCKCKKKCKKKCKKCKCKKCKCKK."
7
2
Returns: -1
".CKCKCKCKCKCKCKCKCKCK."
3
5
Returns: -1
".KKKKKKKK."
3
1
Returns: -1
"...KCK..."
5
2
Returns: 12
"..KKK."
4
4
Returns: 8
"....KKKCKKK.....KKKCKKK.."
4
4
Returns: 25
"...K..CKC.C.CKC.KK..CK.CKC.CKKCKKC.K.CKC.CKC.K.CK."
50
49
Returns: 14800
"..KKK."
4
3
Returns: 8
".KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK."
50
2
Returns: 49
".CKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK.CKKKKKK."
50
21
Returns: 175
".CK."
50
49
Returns: 100
".CK.CK.CK.CK.CK.CK.CK.CK.CK.CK.CK.CK.CK.CK.CK.CK."
2
49
Returns: 1570
".KK."
2
3
Returns: -1
".KKKC."
4
43
Returns: 173
".CKCKKCKCKKC.CKCKCKCKKC.CKCKKCKCKKCKKCKCKCKKCKCKC."
50
50
Returns: 1051
".KK.KKKK."
5
1
Returns: 10
".KKCK."
4
50
Returns: 102
".................................................."
4
3
Returns: 49
".KKKCKKKKKKKCKK."
8
4
Returns: 19
".K.K.K."
2
2
Returns: 6
".KKKKK."
5
4
Returns: -1
".KKC.....KCK.CKK.C...K.K.C.CKC...K.CKC..KK.C."
39
38
Returns: 3003
".CKKKK."
5
2
Returns: 15
".KC."
4
6
Returns: 7
".KKKKKKKKKKC....KCKCK."
11
7
Returns: 121
"..KK."
3
2
Returns: 6
".C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C.C."
49
48
Returns: 1105
".C.C.CKC.C.C.C.C.C.C.C.C.C.C.CKC.C.C.C.C.C.C.C.C."
50
49
Returns: 5293
"..."
1
5
Returns: 2
".......CKC."
9
7
Returns: 36
".KC."
23
47
Returns: 95
"..K."
1
5
Returns: -1
".CKC.CKC."
50
49
Returns: 4901
".CKKCKKKCKKKK.CKK.KKKKKC.KKKCKK.KKKKKK.KKK.CKKKC."
35
24
Returns: 1009
".C."
1
4
Returns: 5
".KKKKKKKKKKKKKKKKKKKK."
2
5
Returns: -1
".KKKKKKKKKKC.KKKKCKKKKC.CKKKKCKKKKCKKKKCKKKKCKKKK."
50
49
Returns: -1