Anonymous user
Railway circuit: Difference between revisions
m
→{{header|Java}}: got right and left mixed up
(→{{header|Java}}: added support for straight tracks) |
m (→{{header|Java}}: got right and left mixed up) |
||
Line 168:
=={{header|Java}}==
{{works with|Java|8}}
<lang java>
import static java.util.Arrays.stream;
import java.util.*;
import static java.util.stream.IntStream.range;
public class RailwayCircuit {
final static int
static String normalize(int[] tracks) {
Line 217 ⟶ 219:
}
static boolean
// all tracks need to add up to a multiple of 360
Line 226 ⟶ 228:
int[] rTurns = new int[12];
for (int i = 0, idx = 0; i < tracks.length && idx >= 0; i++) {
if (tracks[i] ==
rTurns[idx % 12]++;
idx += tracks[i];
Line 246 ⟶ 248:
continue;
if (!
continue;
Line 257 ⟶ 259:
assert (nCurved + nStraight - 12) % 4 == 0 : "input must be 12 + k * 4";
int[] trackTypes = new int[]{
if (nStraight != 0) {
if (nCurved == 12)
trackTypes = new int[]{
else
trackTypes = new int[]{
}
|