‹ 上一题 下一题 ›

06708. USACO·关灯 未做

2000 ms 256 MB 测试点 20 通过率 100% USACO池题USACO-Gold状态压缩动态规划

题目描述

注意:本题的时限为 4 秒,是默认时限的两倍。

Bessie 想睡觉,但农场里的灯让她睡不着。怎样才能把这些灯关掉呢?

Bessie 有两个长度为 ()的 01 串,分别表示一排灯和一排开关。每盏灯要么开着(1)要么关着(0);每个开关要么处于激活状态(1)要么处于关闭状态(0)。

一次操作(move)由以下一系列步骤组成:

  • 切换恰好一个开关的状态(如果它原本是关闭的,就激活它;反之亦然)。
  • 对于每个处于激活状态的开关,切换对应那盏灯的状态(开着就关掉,关着就打开)。
  • 将所有开关循环右移一位。具体地说,如果开关对应的 01 串一开始是 ,那么它会变成 。

对于上述问题的 ()组实例,请统计把所有灯都关掉所需的最少操作次数。

输入格式

第一行包含 和 。

接下来 行,每行包含一对长度为 的 01 串。

输出格式

对于每一对,输出把所有灯都关掉所需的最少操作次数。

样例

输入
4 3
000 101
101 100
110 000
111 000
输出
0
1
3
2

提示说明

【样例解释】

可以证明,把所有的灯都关掉需要 次操作:第一次操作切换第七个开关,第二次操作再次切换同一个开关。

【数据规模与约定】

  • 测试点 3-5:。

  • 测试点 6-13:。

  • 测试点 14-20:无附加限制。

输入
输出

            
答案