C. 中秋第三题

    传统题 1000ms 256MiB

中秋第三题

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目:【月饼拼图挑战】

背景:在一年一度的吃电脑公会中秋比赛中,月饼拼图环节备受瞩目。今年的挑战是设计一款智能月饼拼图游戏,参与者需要将散落在屏幕上的月饼碎片拼回原图。

问题描述:给定一个由 N 行 M 列组成的矩阵,表示一个完整的月饼图案。矩阵中每个元素代表一个月饼碎片,值为 1 表示该位置需要一个月饼,值为 0 表示该位置不需要月饼。参与者需要提供一个由 K 个操作组成的序列,每个操作为 (x, y, shape)。操作的含义是将形状为 shape 的月饼放置在 (x, y) 位置上。形状 shape 可以是 1、2 或 3,分别代表不同大小的月饼形状。任务是判断参与者提供的操作序列能否成功拼出完整的月饼图案。如果可以拼出完整图案,则输出 "拼图成功!";否则输出 "拼图失败,缺少某些月饼"

输入

  • 三个整数 N, M, K,分别表示矩阵的行数、列数和操作序列的长度。
  • 接下来 N 行,每行 M 个整数,表示矩阵中的月饼碎片。
  • 然后是 K 行,每行三个整数 x, y, shape,表示一个操作。

输出

  • 如果可以成功拼出完整图案,输出 "拼图成功!"。
  • 如果无法成功拼出完整图案,输出 "拼图失败,缺少某些月饼",并输出缺少的月饼数量。

示例:

输入:

3 3 9
1 1 1
1 1 1
1 1 1
1 2
2 1
3 1
3 2
3 3
1 1

输出:

拼图成功!

提示:设计算法时需要考虑矩阵中每个位置的月饼需求,以及操作序列的执行顺序,确保最终能够满足所有需求。