连环按钮

测试数据来自 system/1284

作业已超过截止时间,您无法递交本题目。

时间限制:1秒  内存限制:256M


【题目描述】

  有一种特殊的二进制连环按钮,由\(n\)个相连的按钮组成,按钮有凹/凸两种状态,用手按按钮会改变其状态。
  然而让人头疼的是,当你按一个按钮时,跟它相邻的两个按钮状态也会反转。当然,如果你按的是最左或者最右边的按钮,该按钮只会影响到跟它相邻的一个按钮。
  当前连环按钮状态已知,需要解决的问题是,你至少需要按多少次按钮,才能将连环按钮转变为所期望的目标状态。

【输入格式】

  第 1 行是正整数 \(T\),表示有 \(T\) 组数据。每组数据占两行,是两个由 0、1 组成的等长字符串,第 1 个的字符表示当前连环按钮的状态,第 2 个字符串表示目标连环按钮状态,其中 0 代表凹,1 代表凸。

【输出格式】

  对于每组数据,输出至少需要进行的按按钮操作次数,如果无法实现转变,则输出“impossible”。

【输入输出样例】

 Input

3
011
000
00000
01100
11110010
00011011

 Output

1
impossible
3

【输入输出样例】

  第1组数据,只需按下第三个按钮,就可实现01 1 => 000;
  第2组数据,无论怎么按都无法有达到目标状态;
  第3组数据,需要按三次,下面是其中的一种方案(红色数字表示每次按下的按钮):
    1 1 110010 ==> 00010 0 10 ==> 000111 0 0 ==> 00011011;

【数据限制】

  \(100\%\) 的数据,满足 \(T<=10\),连环按钮状态的0/1字符串的长度不超过 30。

【来源】

  Mr.he

枚举算法练习题

未认领
状态
已结束
题目
10
开始时间
2024-01-17 00:00
截止时间
2024-02-29 23:59
可延期
24.0 小时