QOJ.ac

QOJ

Time Limit: 2 s Memory Limit: 256 MB Total points: 100

#22373. Tổng lưu lượng

Statistics

Farmer John muốn đủ nước cho bò nên vẽ $N$ ống ($1 \le N \le 700$) nối giếng với chuồng. Ngạc nhiên trước mạng ống nhiều cỡ nối hỗn loạn, ông muốn tính lưu lượng.

Hai ống nối tiếp cho lưu lượng nhỏ nhất của hai dung lượng. 5 nối 3 tương đương một ống 3:

  +---5---+---3---+    ->    +---3---+

Song song thì cộng dung lượng:

    +---5---+
 ---+       +---    ->    +---8---+
    +---3---+

Ống không nối thêm gì có thể bỏ, không đóng góp tổng dung lượng:

    +---5---+
 ---+               ->    +---3---+
    +---3---+--

Mọi mê cung ống có thể giảm theo các quy tắc này thành một dung lượng tổng.

Từ bản đồ, tìm dung lượng giữa giếng (A) và chuồng (Z).

Ví dụ với tên nút là chữ:

                 +-----------6-----------+
        A+---3---+B                      +Z
                 +---3---+---5---+---4---+
                         C       D

Gộp BC và CD:

                 +-----------6-----------+
        A+---3---+B                      +Z
                 +-----3-----+-----4-----+
                             D

Gộp BD và DZ:

                 +-----------6-----------+
        A+---3---+B                      +Z
                 +-----------3-----------+

Gộp hai nhánh BZ:

                 B
        A+---3---+---9---+Z

Gộp AB và BZ cho dung lượng ròng 3:

        A+---3---+Z

Viết chương trình đọc ống mô tả bằng hai đầu và tính từ 'A' đến 'Z'. Mọi mạng kiểm thử giảm được bằng các quy tắc này.

Ống $i$ nối nút khác nhau $a_i$, $b_i$ (mỗi trong 'A-Za-z') với lưu lượng $F_i$ ($1 \le F_i \le 1,000$). Tên chữ hoa và thường khác nhau.

50 lần nộp đầu có phản hồi kiểm thử bổ sung.

Dữ liệu vào

  • Dòng 1: số nguyên $N$.
  • Các dòng $2,\ldots,N+1$: dòng $i+1$ mô tả ống $i$ bằng hai chữ và số nguyên cách nhau bởi dấu cách: $a_i$, $b_i$, $F_i$.

Dữ liệu ra

  • Dòng 1: số nguyên, lưu lượng tối đa từ giếng ('A') đến chuồng ('Z').

Ví dụ

Dữ liệu vào 1

5
A B 3
B C 3
C D 5
D Z 4
B Z 6

Dữ liệu ra 1

3

Tác giả: Rob Kolstad, 2008

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.