代写COMP3023、代做java/c++编程
COMP3023 Design and Analysis of Algorithms
Spring 2025
Programming Assignment
Problem Description
Let be a directed acyclic (no cycle) graph, be a vertex weight function (positive weights are given to vertices, not edges), and be two vertices. A path from to is maximum if
1. is a simple path (no vertex is repeated twice);
2.the weight of the path is maximized.
For example, in the graph below, the weight of each vertex is the number next to the vertex name.
The maximum path from to is because there are 3 different simple paths:
- and
- and
- and
and is maximum.
Design and implement a dynamic programming algorithm to find the maximum path from to .
Implementation Requirement
1.Your program should be implemented in C or Java with only standard library.
2.The package COMP3023_25S_PA.zip contains following files.
a.PA.c or PA.java – the source code file, where you implement your algorithm (currently empty);
b.make.bat – a windows bat file (cannot be used in linux or MacOS), which contains building instructions; and
c.in – an example of an input file name (without file extension).
3.Your program will be executed with an argument, which specifies the input file name. For example, if your code is written in C, your program will be executed by PA.exe in. If it is in Java, then java PA in.
4.The format of an input file is as follows.
a.The first line contains only one positive integer – the number of vertices.
b.The second line contains two integers and , where is the start and is the end.
c.The second line contains positive integers separated by white spaces – the value of each vertex.
d.Line 3 to Line present an 0-1 matrix – the adjacency matrix of the graph. Two entries are separated by a white space. If row column has value 1, the edge is from vertex to vertex .
e.You can assume that all input files are in the correct format.
For example, the above graph is presented in the file in as
4
0 3
3 2 1 4
0 1 1 1
0 0 0 1
0 0 0 1
0 0 0 0
5.An output files should be as follows.
a.The file name is xxx_out, where xxx is the input file name.
b.The first line has one integer – the weight of the maximum path.
c.The second line has a sequence of vertices – the vertices on the maximum path. Vertices are named by a natural number (starting from ).
For example, the expected output of the above input is in the file in_out as
9
0 1 3
Vertex , , and are named as , , and respectively.
Submission Requirement
You only need to submit PA.c or PA.java to iSpace. Please DO NOT RENAME. You should write your name and ID on the first row of your code as a comment.
Marking
-5% - submission
-5% - compilation
-90% - test cases
Penalty
-capped at 5% for compilation failure by any reason (errors, wrong file name, etc.)
-10% off for no student name and ID in the source file
-0% for late submission
-0% for BOTH copying and copied
-0% for LLM or assignment agent
Bonus
-Programs will be ranked by their running time.
-Top 1% will receive 3% bonus.
-Top 5% will receive 2% bonus.
-Top 10% will receive 1% bonus.