QOJ.ac

QOJ

Time Limit: 10 s Memory Limit: 1024 MB Total points: 15

#12265. 超大煎饼翻转器

Statistics

去年,无限煎饼屋(Infinite House of Pancakes)推出了一种新型煎饼。它的一面有巧克力豆组成的笑脸(“笑脸面”),另一面则什么都没有(“空白面”)。

你是当班的主厨。煎饼在热表面上排成一行。为了尽可能提高效率,无限煎饼屋最近给了你一个超大煎饼翻转器,它每次可以翻转恰好 $K$ 个连续的煎饼。也就是说,在选定的 $K$ 个煎饼范围内,它会将每个笑脸面朝上的煎饼变为空白面朝上,反之亦然;它不会改变这些煎饼从左到右的顺序。

你不能使用翻转器一次翻转少于 $K$ 个煎饼,即使是在这一行的两端也不行(因为烹饪表面的两侧有凸起的边缘)。例如,你可以翻转前 $K$ 个煎饼,但不能翻转前 $K-1$ 个煎饼。

你的学徒还在学习中,他刚刚用老式的单煎饼翻转器翻转了一些煎饼,然后就在顾客即将光临厨房时跑去洗手间了。你现在只剩下这个超大煎饼翻转器,你需要尽快使用它,让所有煎饼都变成笑脸面朝上,这样顾客在参观厨房时才会感到满意。

给定煎饼的当前状态,计算让所有煎饼都变成笑脸面朝上所需的最少翻转次数,或者指出无法做到。

输入格式

输入的第一行包含测试用例的数量 $T$。接下来是 $T$ 个测试用例。每个测试用例包含一行,由一个字符串 $S$ 和一个整数 $K$ 组成。$S$ 表示煎饼的排列:每个字符要么是 +(表示煎饼初始时笑脸面朝上),要么是 -(表示煎饼初始时空白面朝上)。

输出格式

对于每个测试用例,输出一行 Case #x: y,其中 $x$ 是测试用例编号(从 1 开始),$y$ 是无法让所有煎饼笑脸面朝上时的 IMPOSSIBLE,或者是完成任务所需的最少翻转次数。

数据范围

$1 \le T \le 100$ $S$ 中的每个字符均为 +- $2 \le K \le \text{length of } S$

小型数据集(测试集 1 - 可见) $2 \le \text{length of } S \le 10$

大型数据集(测试集 2 - 隐藏) $2 \le \text{length of } S \le 1000$

样例

样例输入 1

3
---+-++- 3
+++++ 4
-+-+- 4

样例输出 1

Case #1: 3
Case #2: 0
Case #3: IMPOSSIBLE

说明

在样例 1 中,你可以通过先翻转最左侧的 3 个煎饼(得到 ++++-++-),然后翻转最右侧的 3 个(得到 ++++---),最后翻转剩下的 3 个空白面朝上的煎饼,使所有煎饼都笑脸面朝上。虽然还有其他 3 次或更多次翻转的方法,但没有少于 3 次的方法。

在样例 2 中,所有煎饼已经笑脸面朝上,因此不需要进行任何翻转。

在样例 3 中,无法使从左往右数第二个和第三个煎饼朝向相同,因为任何翻转操作都会同时改变它们两个。因此,无法使所有煎饼都笑脸面朝上。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.