由于某些原因本题仅支持 C++ 各版本语言的提交。
距离上一次 Pak Dengklek 在他的家中粉刷墙壁已经过了一段时间,所以他想重新粉刷一次。他家的墙壁由 N 段组成,它们从
为了粉刷墙壁, Pak Dengklek 雇用了一家有
Pak Dengklek 可以给承包商公司提出一些要求。在单个要求中,Pak Dengklek 将 给出两个参数
Pak Dengklek 需要为每个要求付费,因此他想知道为了使墙壁中每个段都能用自己预期的颜色粉刷,他至少要提出多少个要求,或是确认他的预期无法达到。每一段墙 壁可以被粉刷多次,但必须保证每次粉刷的颜色都是 Pak Dengklek 所预期的。
实现细节
你必须引用 paint.h
头文件。
你必须实现 minimumInstructions
函数:
int minimumInstructions(int N, int M, int K, std::vector<int> C, std::vector<int> A, std::vector<std::vector<int>> B)
:一个整数表示墙壁的段数。 :一个整数表示承包商的数量。 :一个整数表示颜色的种数。 :一个长度为 的整数序列,表示每段墙壁预期的颜色。 :一个长度为 的整数序列,表示承包商喜欢的颜色数。 :一个长度为 的每个元素为序列的序列,表示承包商喜欢的具体颜色。
该函数将被评测库恰好调用一次。
该函数必须返回一个整数,表示 Pak Dengklek 为了让墙壁按预期粉刷所需要提出的最小要求数;若预期无法达到则返回
样例评测库
按照如下格式读入数据。
样例评测库将输出函数 minimumInstructions
的返回值。
样例一
input
8 3 5 3 3 1 3 4 4 2 2 3 0 1 2 2 2 3 2 3 4
output
3
限制与约定
对于
对于所有测试数据:
. . .
子任务 | 附加限制 | 分值 | 依赖的数据包 |
---|---|---|---|
1 | 12 | 1, 2, 3, 4 | |
2 | 15 | 1, 5 | |
3 | 13 | 1, 2, 5, 6 | |
4 | 23 | 1, 2, 3, 5, 6, 7 | |
5 | 无 | 37 | 1, 2, 3, 4, 5, 6, 7, 8 |
实际测试中,前 8 个 subtask 为数据包,后 5 个 subtask 为 5 个子任务。
时间限制:
空间限制: