#P1372. 木棍与等式

    ID: 373 传统题 1000ms 256MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>其他位运算普及+/提高深度优先搜索暴力枚举状态压缩

木棍与等式

木棍与等式

题目描述

相信你小学时一定玩过木棒等式这个游戏,用木棒可以拼凑出数字和等式。

在CEIT Lab的桌子上,Orange看到了一些木棒,这令他回忆起了小时候玩过的游戏,因此他心血来潮,在桌子上摆出了若干个火柴棒等式。但是,邪恶的猫猫悠米趁着Orange不在的时候,将等式上的火柴棒打乱了。

当Orange回来时,立马发现了桌上等式发生了变化,Orange不记得临走前等式的样子,只记得每个等式都是成立的。Orange担心悠米会偷走木棍(也许这个木棍有大用呢?),于是决定检查这些等式。

每个等式形如如下格式:

a + b = c
a - b = c

我们约定:

  • 等号是不会发生改变的,即悠米和你都不会移动构成等号的两根木棍,因此你可以不用考虑这一部分。
  • 所有的数字和运算符号(加号和减号)都形如上图中摆放,即规定每个字符的确定摆法(其他摆法都是非法的)。
  • 你只需要考虑构成运算符号部分和数字部分的木棍的移动和重构,同时对于运算符号,你只能用木棍构成加号和减号,对于数字,你只能构成一位整数(只有一个数位的数)。
  • 你需要构成的最终等式 a + b = c,需要保证 a,b,ca,b,c 都只包含一个数位,即:0a,b,c90 \le a,b,c \le 9

你的任务是,对于每个等式,不添加和丢弃任何木棍,确定是否能在若干次移动木棍之后(每次只能移动一根木棍),使得等式成立,如果可以,请输出最小移动次数,否则,输出-1

输入格式

输入包含 T+1T+1 行: 第一行为一个整数 TT,表示等式数量。 接下来 TT 行,每行一个等式,形如如下格式:

{a} {+/-} {b} = {c}
数据范围

对于 30%30\% 的数据,保证 T=1T = 1。 对于 100%100\% 的数据,保证 T100T \le 1000a,b,c90 \le a,b,c \le 9

输出格式

对于每个等式,输出一个整数,表示答案。

样例 #1

样例输入 #1

3
9 - 1 = 4
5 + 1 = 5
1 + 1 = 1

样例输出 #1

1
1
-1