CF1991G.Grid Reset

省选/NOI-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

给定一个 nn 行 mm 列的格子矩阵,初始所有格子都是白色。另外给定一个整数 kk。

你将执行如下两类操作共 qq 次:

  • H\texttt H(水平操作):在格子矩阵中选择一个 11 行 kk 列,且所有格子均为白色的格子矩阵,并将其中的所有格子涂黑。
  • V\texttt V(纵向操作):在格子矩阵中选择一个 kk 行 11 列,且所有格子均为白色的格子矩阵,并将其中的所有格子涂黑。

每次操作之后,如果任意一行或一列所有格子都被涂成了黑色,则这一行或一列的所有格子自动被重置成白色。特别的,如果某一个格子所在的行和列都被涂成了黑色,则该格子所处的行和列的所有格子也将自动被重置成白色。

现在,对于 qq 次操作中的每次操作,请指定一个矩阵,使得所有 qq 次操作都能够进行,或者报告无论如何指定矩阵都不能使得所有 qq 次操作都能够进行。

输入格式

本题包含多组数据。

第一行输入一个整数 tt,表示数据组数。

对于每组数据,第一行输入四个整数 n,m,k,qn,m,k,q,分别代表格子矩阵的行数、列数、每次操作选定的矩阵的大小和操作次数。
第二行输入一个长度为 qq 的字符串 ss,表示操作序列。

输出格式

对于每组数据,如果无论如何指定矩阵都不能使得所有 qq 次操作都能够进行,输出一行 −1-1。否则,输出 qq 行,第 xx 行两个整数 i,ji,j,表示第 xx 次操作所指定的矩阵的左上角的格子所在的行和列。

输入输出样例

  • 输入#1

    1
    4 5 3 6
    HVVHHV

    输出#1

    1 1
    2 1
    1 1
    2 3
    3 3
    2 2

说明/提示

对于所有数据:

  • 1⩽t⩽10001\leqslant t\leqslant 1000。
  • 1⩽n,m⩽100,1⩽k⩽min⁡{n,m}1\leqslant n,m\leqslant 100,\color{Red}1\leqslant k\leqslant \min\{n,m\}。
  • 1⩽q⩽1000,∑q⩽10001\leqslant q\leqslant 1000,\sum q\leqslant 1000。

输入输出样例参见下文。

Translated by Eason_AC。

输入解题思路,AI测评打分。不知道怎么写?

首页