蓝桥杯刷题day14——盖印章【算法赛】

一、问题描述

小 Z 喜欢盖印章。

有一天,小 Z 得到了一个 n×m 的网格图,与此同时,他的手上有两种印章(分别称为 A,B),如下图所示。

蓝桥杯刷题day14——盖印章【算法赛】_第1张图片

他想将这两种印章盖在这个网格图上。

由于小 Z 是一个有原则的人,他将按照以下规则进行操作。

  1. 每个印章所形成的图案的边必须和网格图边重合。
  2. 对于网格图上的每一个格子,最多只能被一个印章图案覆盖。
  3. 对于每个印章,可以将印章顺时针旋转 90∘,180∘,270∘90∘,180∘,270∘。
  4. 印章的图案在网格图上必须是完整的。

给定小 Z 所盖完印章的网格图以及两种印章的使用次数 K,请你分别求出两种印章的使用次数。可以证明,在这种情况下二者的使用次数是唯一的。

数据保证存在一种方案达到要求。

具体例子可以参考样例。

输入格式

第一行包含三个正整数 n,m,K(2≤n×m≤10^6,0≤K≤n×m),具体意义如题面所示。

接下来有 n 行长度为m 的 01 串,其中 1 表示这个位置被印章图案覆盖。否则表示这个位置没有被覆盖。

输出格式

输出两个整数,第一个整数为 A 出现的次数,第二个整数为 B 出现的次数。

样例输入1

解释

3 3 3

你可能感兴趣的:(#,蓝桥杯,算法,蓝桥杯)