The trac on the Internet is increasing these days due to smartphones. The wireless carriers
have to enhance their network infrastructure.
The network of a wireless carrier consists of a number of base stations and lines. Each line
connects two base stations bi-directionally. The bandwidth of a line increases every year and is
given by a polynomial f(x) of the year x.
Your task is, given the network structure, to write a program to calculate the maximal bandwidth
between the 1-st and N-th base stations as a polynomial of x.
The input consists of multiple datasets. Each dataset has the following format:
N M
u1 v1 p1
.
.
.
uM vM pM
The first line of each dataset contains two integers N (2 <= N <= 50) and M (0 <= M <= 500),
which indicates the number of base stations and lines respectively. The following M lines
describe the network structure. The i-th of them corresponds to the i-th network line and
contains two integers ui and vi and a polynomial pi. ui and vi
indicate the indices of base
stations (1 <= ui,vi <= N); pi indicates the network bandwidth.
Each polynomial has the form of:
aLxL + aL-1xL-1 + ... + a2x2 + a1x + a0
where L (0 <= L <= 50) is the degree and ai
's (0 <= i <= L, 0 <= ai <= 100) are the coecients. In the input,
• each term aixi
(for i >= 2) is represented as h ﹤ai﹥x﹤i﹥;
• the linear term (a1x) is represented as ﹤a1﹥;
• the constant (a0) is represented just by digits;
• these terms are given in the strictly decreasing order of the degrees and connected by a
plus sign ("+");
• just like the standard notations, the ﹤ai﹥ is omitted if ai = 1 for non-constant terms;
• similarly, the entire term is omitted if ai = 0 for any terms; and
• the polynomial representations contain no space or characters other than digits, "x", "",
and "+".
For example, 2x2 + 3x + 5 is represented as 2x2+3x+5; 2x3 + x is represented as 2x3+x,
not 2x3+0x2+1x+0 or the like. No polynomial is a constant zero, i.e. the one with all the
coecients being zero.
The end of input is indicated by a line with two zeros. This line is not part of any dataset.
For each dataset, print the maximal bandwidth as a polynomial of x. The polynomial should
be represented in the same way as the input format except that a constant zero is possible and
should be represented by "0" (without quotes).
3 3 1 2 x+2 2 3 2x+1 3 1 x+1 2 0 3 2 1 2 x 2 3 2 4 3 1 2 x^3+2x^2+3x+4 2 3 x^2+2x+3 3 4 x+2 0 0
2x+3 0 2 x+2
Migrated from old NTUJ.
JAG 模擬地区予選
No. | Testdata Range | Score |
---|