给定一个平面上条水平直线和
条垂直直线,它们相交形成
行
列的网格, 从上到下第
条水平直线和从左到右第c条垂直直线之间的交点称为格点
。网格中任意两个水平或垂直相邻的格点之间的线段称为一条边,每条边有一个非负整数边权。
进行次询问,每次询问形式如下:
对于每次询问,不同附加点所在的射线互不相同。每个附加点和最近的格点之间的线段也称为一条边,也有非负整数边权(注意,在角上的格点有可能和两个附加点同时相连)。
第一行
个正整数
分别表示水平、垂直直线的数量,以及询问次数。
接下来
行,每行
个非负整数。其中第
行的第
个非负整数
表示
和
间的边权。
接下来
行,每行
个非负整数。其中第
行的第
个非负整数
表示
和
间的边权。
接下来依次输入
组询问。第
组询问开头为一行一个正整数
表示这次询问附加点的总数。接下来
行每行三个非负整数。其中第j行依次为
表示第
个附加点和相邻格点之间的边权、所在的射线编号以及附加点颜色(0 为白色,1 为黑色)。保证同一组询问内
互不相同。
每行的多个整数由空格分隔。
输出
行,第
行输出一个非负整数,表示第
次询问染色之后两端颜色不同的边权和的最小值。
对于所有数据,![]()
。
保证对于每个,
互不相同。