Noi-2003-木棒游戏

这是一个古老的木棒游戏,玩家需要通过移动一根木棒将不成立的等式变为成立。游戏规则规定,只能移动构成数字的木棒,不得移动运算符,且移动后数字需符合特定形状。输入数据为一个不成立的等式,程序需判断并输出是否能通过移动一根木棒使其成立。如果可以,输出新等式;否则,输出"No"。提供的输入样例展示了不同情况下的解决方案。
摘要由CSDN通过智能技术生成

木棒游戏

【问题描述】

这是一个很古老的游戏。用木棒在桌上拼出一个不成立的等式,移动且只移动一根木棒使得等式成立。现在轮到你了。

【任务】

从文件读入一个式子(该式子肯定是一个不成立的等式)。

如果移动一根木棒可以使等式成立,则输出新的等式,否则输出No。

【说明和限制】

1式子中的数可能是正数或负数,运算符号只会出现加号和减号,并且有且仅有一个等号,不会出现括号、乘号或除号,也不会有++,--,+-或-+出现。

2式子中不会出现8个或8个以上的连续数字(数的绝对值小于等于9999999)。

3你只能移动用来构成数字的木棒,不能移动构成运算符(+-=)的木棒,所以加号、减号、等号是不会改变的。移动前后,木棒构成的数字必须严格与图2中的0~9相符。

4从文件读入的式子中的数不会以0开头,但允许修改后等式中的数以数字0开头。

【输入数据】

从文件game.in中读入一行字符串。该串中包括一个以“#”字符结尾的式子(ASCII码35),式子中没有空格或其他分隔符。输入数据严格符合逻辑。字符串的长度小于等于1000。

注意:“#”字符后面可能会有一些与题目无关的字符。

【输出数据】

将输出结果存入文件game.out,输出仅一行。

如果有解,则输出正确的等式,格式与输入的格式相同(以“#”结尾,中间不能有分隔符,也不要加入多余字符)。此时输入数据保证解是唯一的。

如果无解,则输出“No”(N大写,o小写)。

【输入样例1】

1+1=3#

【输出样例1】

1+1=2#

【输入样例2】

1+1=3+5#

【输出样例2】

No

【输入样例3】

11+77=34#

【输出样例3】

17+17=34#


-------------------------------------------------------------------------------------------------------------------
这是一道搜索题,1000的数据规模,用平方级的算法(预处理改变量)就可以A了,但我写的是线性的,用链表优化,使搜索范围最小化,10个测试点,一次Ac,共用时0.18s,相当有成就感。
-------------------------------------------------------------------------------------------------------------------
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值