Advertisement

二分图用于解决最小点覆盖问题

阅读量:

机器任务

系统中存在两台设备 A 与 B,以及若干个待处理的任务。

设备 A 具备 N 种运行状态(编号从 0 到 N-1),而设备 B 则拥有 M 种运行状态(编号从 0 到 M-1)。

初始状态下,两台设备均处于第 0 状态。

每一个任务既可以由设备 A 执行,也可以由设备 B 执行。

针对每个任务 i,给定两个整数 a[i] 和 b[i],若该任务由 A 执行,则需将 A 设备切换至 a[i] 状态;若由 B 执行,则需将 B 设备切换至 b[i] 状态。

任务的执行顺序可以任意安排,但每次设备状态发生改变时都需要进行一次重启操作。

目标是通过合理分配任务至不同设备,并规划执行顺序,使得整体重启次数达到最小值。

输入格式
输入数据包含多个测试用例。

每组测试数据的第一行包括三个整数 N、M 和 K。

随后的 K 行中,每行给出三个整数 i、a[i] 和 b[i],其中 i 表示任务编号(从 0 开始)。

当输入的一行为 0 时,表示输入结束。

输出格式
对于每组测试数据,在单独一行上输出一个整数,表示完成所有任务所需的最少重启次数。

数据范围
N,M<100,K<1000
0≤a[i]
0≤b[i]

输入样例:
5 5 10
0 1 1
1 1 2
2 1 3
3 1 4

全部评论 (0)

还没有任何评论哟~