Skip to content

Commit ed635f6

Browse files
committed
Initial commit
0 parents  commit ed635f6

File tree

2 files changed

+137
-0
lines changed

2 files changed

+137
-0
lines changed

README.md

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# Trans Problem
2+
3+
The local commuter railroad services a number of towns in Kiwiland. Because of monetary concerns, all of the tracks are 'one-way.' That is, a route from Kaitaia to Invercargill does not imply the existence of a route from Invercargill to Kaitaia. In fact, even if both of these routes do happen to exist, they are distinct and are not necessarily the same distance!
4+
5+
The purpose of this problem is to help the railroad provide its customers with information about the routes. In particular, you will compute the distance along a certain route, the number of different routes between two towns, and the shortest route between two towns.
6+
7+
- *Input*: A directed graph where a node represents a town and an edge represents a route between two towns. The weighting of the edge represents the distance between the two towns. A given route will never appear more than once, and for a given route, the starting and ending town will not be the same town.
8+
9+
- *Output*: For test input 1 through 5, if no such route exists, output 'NO SUCH ROUTE'. Otherwise, follow the route as given; do not make any extra stops! For example, the first problem means to start at city A, then travel directly to city B (a distance of 5), then directly to city C (a distance of 4).
10+
The distance of the route A-B-C.
11+
The distance of the route A-D.
12+
The distance of the route A-D-C.
13+
The distance of the route A-E-B-C-D.
14+
The distance of the route A-E-D.
15+
The number of trips starting at C and ending at C with a maximum of 3 stops. In the sample data below, there are two such trips: C-D-C (2 stops). and C-E-B-C (3 stops).
16+
The number of trips starting at A and ending at C with exactly 4 stops. In the sample data below, there are three such trips: A to C (via B,C,D); A to C (via D,C,D); and A to C (via D,E,B).
17+
The length of the shortest route (in terms of distance to travel) from A to C.
18+
The length of the shortest route (in terms of distance to travel) from B to B.
19+
The number of different routes from C to C with a distance of less than 30. In the sample data, the trips are: CDC, CEBC, CEBCDC, CDCEBC, CDEBC, CEBCEBC, CEBCEBCEBC.
20+
21+
- *Test Input*:
22+
For the test input, the towns are named using the first few letters of the alphabet from A to D. A route between two towns (A to B) with a distance of 5 is represented as AB5.
23+
Graph: AB5, BC4, CD8, DC8, DE6, AD5, CE2, EB3, AE7
24+
Expected Output:
25+
Output #1: 9
26+
Output #2: 5
27+
Output #3: 13
28+
Output #4: 22
29+
Output #5: NO SUCH ROUTE
30+
Output #6: 2
31+
Output #7: 3
32+
Output #8: 9
33+
Output #9: 9
34+
Output #10: 7
35+
36+
## Prerequisites
37+
- JDK 8
38+
- Maven 3.0.4 or newer
39+
40+
41+
## Run the solution
42+
43+
To run the solution you should execute maven command as follow
44+
45+
> mvn clean install
46+
47+
Enjoy it!!!!!!!!!!!

pom.xml

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!-- Copyright (C) 2015 mxHero Inc (mxhero@mxhero.com) Licensed under the
3+
Apache License, Version 2.0 (the "License"); you may not use this file except
4+
in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
5+
Unless required by applicable law or agreed to in writing, software distributed
6+
under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES
7+
OR CONDITIONS OF ANY KIND, either express or implied. See the License for
8+
the specific language governing permissions and limitations under the License. -->
9+
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
11+
12+
<modelVersion>4.0.0</modelVersion>
13+
<groupId>edu.jproyo.dojos</groupId>
14+
<artifactId>transjprs</artifactId>
15+
<version>0.1.0-SNAPSHOT</version>
16+
<inceptionYear>2017</inceptionYear>
17+
18+
<dependencies>
19+
<dependency>
20+
<groupId>junit</groupId>
21+
<artifactId>junit</artifactId>
22+
<version>4.12</version>
23+
<scope>test</scope>
24+
</dependency>
25+
</dependencies>
26+
27+
<build>
28+
<plugins>
29+
<plugin>
30+
<groupId>org.apache.maven.plugins</groupId>
31+
<artifactId>maven-compiler-plugin</artifactId>
32+
<configuration>
33+
<source>1.8</source>
34+
<target>1.8</target>
35+
</configuration>
36+
</plugin>
37+
<plugin>
38+
<groupId>org.apache.maven.plugins</groupId>
39+
<artifactId>maven-jar-plugin</artifactId>
40+
</plugin>
41+
<plugin>
42+
<groupId>org.apache.maven.plugins</groupId>
43+
<artifactId>maven-surefire-plugin</artifactId>
44+
</plugin>
45+
<plugin>
46+
<groupId>org.apache.maven.plugins</groupId>
47+
<artifactId>maven-javadoc-plugin</artifactId>
48+
<executions>
49+
<execution>
50+
<id>attach-javadocs</id>
51+
<goals>
52+
<goal>jar</goal>
53+
</goals>
54+
<configuration>
55+
<additionalparam>-Xdoclint:none</additionalparam>
56+
</configuration>
57+
</execution>
58+
</executions>
59+
</plugin>
60+
<plugin>
61+
<groupId>org.codehaus.mojo</groupId>
62+
<artifactId>cobertura-maven-plugin</artifactId>
63+
<version>2.7</version>
64+
<dependencies>
65+
<dependency>
66+
<groupId>org.apache.maven.reporting</groupId>
67+
<artifactId>maven-reporting-api</artifactId>
68+
<version>3.0</version>
69+
</dependency>
70+
</dependencies>
71+
</plugin>
72+
</plugins>
73+
</build>
74+
75+
<reporting>
76+
<plugins>
77+
<plugin>
78+
<!-- use mvn cobertura:cobertura to generate cobertura reports -->
79+
<groupId>org.codehaus.mojo</groupId>
80+
<artifactId>cobertura-maven-plugin</artifactId>
81+
<version>2.7</version>
82+
<configuration>
83+
<formats>
84+
<format>html</format>
85+
</formats>
86+
</configuration>
87+
</plugin>
88+
</plugins>
89+
</reporting>
90+
</project>

0 commit comments

Comments
 (0)