#P7654. [BalticOI 1996 Day 2] THE FILLING OF BARRELS

[BalticOI 1996 Day 2] THE FILLING OF BARRELS

题目描述

在水平面上有 NN 个相等的空桶。每桶容积为 100100 个单位。它们中的每两个都用一根管道连接。每根管道都连接到两个桶的底部,其有自己的阀门,只能“打开“ ”或“关闭”。开始时,所有阀门都是关闭的。如果一个阀门打开,那么从一个连接的桶中的液体可以快速自由地流向另一个桶,从而使这些桶中的液体量变得相等(连通器原理)。如果阀门关闭,则液体无法通过该管道。
现允许两种操作:

  1. “P”(倾倒)一定量的液体倒入规定的桶中。操作说明为:“P nn mm”,其中 nn 为桶的编号,mm 为要倒入该桶的液体量(单位),
  2. “V”(用于阀门)一个规定的阀门转到相反位置(即该阀门原打开现关闭,如果原关闭则现打开)。操作说明为:“V n1n_1 n2n_2”,其中 n1n_1n2n_2 为连接有该阀门的管道的桶编号。两种不同的描述 “V n1n_1 n2n_2” 和 “V n2n_2 n1n_1” 指的是同一个阀门。

您的目标是执行给定的操作序列。您必须忽略管道中的液体量。如果某些倾倒操作因液体溢出而无法执行,则必须在适当输出后停止执行该操作序列。

输入格式

第一行包含整数 NNKK(操作数),其余 KK 行包含操作描述(每行一个描述)。

输出格式

必须包含 “OK” 以及序列执行结束时所有桶中的最小和最大液体量的值或 “OVERFLOW” 和发生溢出的操作。液体量的数值必须写成实数,小数点后有两位。

3 8
P 1 100
V 2 1
P 2 40
V 1 2
V 1 3
V 1 3
P 3 70
V 1 3 
OK 75.00 95.00 
3 8 
P 1 100
V 2 1
P 2 40
V 1 2
V 1 3
V 1 3
P 3 70
V 1 3 
OVERFLOW 7 

提示

数据规模与约定

对于 100%100 \% 的数据,1<N1001 < N \le 100nnmm 为整数,0<nN0 < n \le N0<m10000 < m \le 1000n1n_1n2n_2 为整数,0<n1N0 < n_1 \le N0<n2N0 < n_2 \le Nn1n2n_1 ≠ n_20<K10000 < K \le 1000

分值说明

本题分值按 BOI 原题设置,满分 2525

题目说明

来源于 Baltic Olympiad in Informatics 1996 的 Day 2:THE FILLING OF BARRELS
由 @求学的企鹅 翻译整理。