F.A.Q
Hand In Hand
Online Acmers
Problem Archive
Realtime Judge Status
Authors Ranklist
 
     C/C++/Java Exams     
ACM Steps
Go to Job
Contest LiveCast
ICPC@China
Best Coder beta
VIP | STD Contests
    DIY | Web-DIY beta
Author ID 
Password 
 Register new ID

Mosquito

Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)
Total Submission(s): 299    Accepted Submission(s): 104


Problem Description
房间是个 $n*m$ 的网格,一共有 $k$ 个窗户,都在上下左右四条边上。在第 0 时刻,每个窗户对应的格子上都会出现若干只蚊子。

蚊子每个时刻可以往上下左右移动一格或者呆在原地不动。

假设这些蚊子都足够聪明,请问最少花费多少时刻,使得所有格子上都有至少一只蚊子?

蚊子在第 0 时刻不能动。
 

Input
第一行一个正整数 $test(1 \le test \le 10)$ 表示数据组数。

对于每组数据,第一行三个整数 $n, m, k(1 \le n, m \le 1000, 1 \le k \le 6)$ 表示房间的大小和窗户的个数。

接下来 $k$ 行,每行三个整数 $x, y, z(1 \le z \le nm)$ 表示窗户的坐标以及出现在这个窗户的初始蚊子的数目。

横坐标从 $1...n$ 编号,纵坐标从 $1...m$ 编号,数据保证窗户一定在边界上。
 

Output
对于每组数据,一行一个整数表示答案。如果无解,输出 -1。
 

Sample Input
2 5 5 4 1 1 10 1 5 10 5 1 10 5 5 10 3 3 1 1 1 8
 

Sample Output
4 -1
 

Source
 

Statistic | Submit | Discuss | Note
Hangzhou Dianzi University Online Judge 3.0
Copyright © 2005-2024 HDU ACM Team. All Rights Reserved.
Designer & Developer : Wang Rongtao LinLe GaoJie GanLu
Total 0.000000(s) query 1, Server time : 2024-11-22 16:41:34, Gzip enabled