아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

이동통신망의 최대 대역폭

시간 제한8초메모리 제한512 MB

요약
간선 용량이 x에 대한 다항식인 그래프에서 충분히 큰 x에 대해 노드 1에서 N까지의 최대 유량을 다항식으로 출력한다.
난이도

어려움10점 중 9점

유형
그래프, 그리디, 수학, 구현
정답자
아직 제출이 없습니다

문제

스마트폰 때문에 인터넷 트래픽이 계속 늘고 있다. 이동통신 사업자는 통신망을 증설해야 한다.

한 사업자의 통신망은 기지국 여러 개와 회선 여러 개로 이루어진다. 회선 하나는 기지국 두 개를 양방향으로 잇는다. 회선의 대역폭은 해마다 늘어나고, 연도 xx의 다항식 f(x)f(x)로 주어진다.

통신망 구조가 주어질 때 1번 기지국과 NN번 기지국 사이의 최대 대역폭을 xx의 다항식으로 구하는 프로그램을 작성하라.

두 기지국 사이의 트래픽은 여러 경로로 나누어 보낼 수 있다. 한 회선을 지나는 트래픽의 합은 그 회선의 대역폭을 넘지 못하므로, 최대 대역폭은 1번 기지국에서 NN번 기지국으로 흘릴 수 있는 최대 유량과 같다.

어느 회선이 병목인지는 xx 값에 따라 달라진다. 충분히 큰 모든 xx에서 최대 대역폭과 값이 같은 다항식은 하나뿐이고, 그 다항식을 출력한다.

입력

입력은 데이터 세트 여러 개로 이루어진다. 각 데이터 세트의 형식은 다음과 같다.

N M
u1 v1 p1
...
uM vM pM

첫 줄에는 기지국 수 NN (2≤N≤502 \le N \le 50)과 회선 수 MM (0≤M≤5000 \le M \le 500)이 주어진다. 이어지는 MM개의 줄은 통신망 구조를 나타낸다. ii번째 줄에는 기지국 번호 uiu_i와 viv_i (1≤ui,vi≤N1 \le u_i, v_i \le N), 그리고 대역폭을 나타내는 다항식 pip_i가 주어진다. 같은 기지국 쌍을 잇는 회선이 여러 개일 수 있고, 두 끝이 같은 기지국인 회선도 있을 수 있다.

다항식의 형태는 다음과 같다.

aLxL+aL−1xL−1+⋯+a1x+a0a_L x^L + a_{L-1} x^{L-1} + \cdots + a_1 x + a_0

LL (0≤L≤500 \le L \le 50)은 차수이고, aia_i (0≤i≤L0 \le i \le L, 0≤ai≤1000 \le a_i \le 100)는 계수이다. 입력에서 다항식은 다음 규칙으로 적는다.

  • 차수가 22 이상인 항 aixia_i x^i는 <a_i>x^<i>로 적는다.
  • 일차항 a1xa_1 x는 <a_1>x로 적는다.
  • 상수항 a0a_0은 숫자만 적는다.
  • 항은 차수가 큰 것부터 작은 것 순서로 적고 +로 잇는다.
  • 상수항이 아닌 항은 계수가 11이면 계수를 적지 않는다.
  • 계수가 00인 항은 통째로 적지 않는다.
  • 다항식에는 공백이 없고, 숫자와 x, ^, + 외의 문자도 없다.

2x2+3x+52x^2 + 3x + 5는 2x^2+3x+5로 적고, 2x3+x2x^3 + x는 2x^3+x로 적는다. 2x^3+0x^2+1x+0처럼 적지 않는다. 계수가 모두 00인 다항식은 입력에 주어지지 않는다.

입력의 끝은 00 두 개가 적힌 줄로 나타낸다. 이 줄은 데이터 세트가 아니다.

출력

각 데이터 세트마다 최대 대역폭을 xx의 다항식으로 한 줄에 출력한다. 표기 규칙은 입력과 같다. 다만 결과는 상수 00일 수 있고, 이때는 0을 출력한다.

예제3

  1. 예제 1

    입력
    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
    
  2. 예제 2

    입력
    2 4
    1 2 x
    1 2 x
    2 1 1
    1 1 5
    2 1
    1 1 100x^50
    0 0
    
    예상 출력
    2x+1
    0
    
  3. 예제 3

    입력
    5 4
    1 2 x^10
    2 3 x^5+100
    3 4 x^5+50
    4 5 x^10
    3 2
    1 2 2x^2+5
    2 3 2x^2+3
    0 0
    
    예상 출력
    x^5+50
    2x^2+3