数字计算

成绩 0 开启时间 2013年02月21日 星期四 18:02
折扣 0.8 折扣时间 2013年02月28日 星期四 18:02
允许迟交 关闭时间 2013年02月28日 星期四 18:02
输入文件 puzzle.in 输出文件 puzzle.out

【问题描述】

    x在学习了加法和乘法之后,想到了一个问题。

    给定一个很长的数字N,能不能在中间加上*+,进行相应的乘法和加法运算,得到自己预期的结果整数T

    我们约定:*的优先级高于+,且运算数可以有任意个前导0.

【输入】

输入数据会有多组。

每组数据包含两行。

第一行:一个长度为N的只包含0~9的数字字符串;

第二行:一个整数T

如果T<0表示输入结束。

【输出】

       每组数据输出一个数字单独占一行,表示最少需要添加的运算符(*+),无解输出-1

【输入输出样例1

puzzle.in

puzzle.out

032057
5
333
8
00
-1


3
-1


【样例解释】第一组 03+2+0*57=5  第二组无解

【数据范围】

   30%数据保证 1<=N<=10  0<=T<=50

   50%数据保证 1<=N<=15  0<=T<=200

   对于全部数据  测试数据不超过5  1<=N<=20  0<=T<=200