题目名称 334. [NOI 2003]木棒游戏
输入输出 stickgame.in/out
难度等级 ★☆
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试数据 10
题目来源 GravatarBYVoid 于2009-05-22加入
开放分组 全部用户
提交状态
分类标签
NOI 搜索法 基本
分享题解
通过:12, 提交:55, 通过率:21.82%
Gravatarayyz-lmj 100 0.003 s 0.21 MiB Pascal
Gravatar儘韾 100 0.008 s 0.32 MiB C++
GravatarCAX_CPG 100 0.009 s 0.18 MiB Pascal
Gravatar二价氢 100 0.014 s 0.33 MiB C++
GravatarQILIN 100 0.027 s 1.98 MiB C++
Gravatar宋S 100 0.027 s 3.17 MiB C++
GravatarQhelDIV 100 0.030 s 1.52 MiB C++
Gravatar苏轼 100 0.036 s 0.28 MiB C++
GravatarPG 100 0.036 s 3.15 MiB C++
GravatarBYVoid 100 0.040 s 0.27 MiB C++
关于 木棒游戏 的近10条评论(全部评论)
偷懒用sstream,然后就跪了:
在windows下 XX.tellg()在读完时(即XX.eof()==true)返回的是最后一个字符的位置
而linux里面返回的是[size=40]-1[/size]!!!
这种细枝末节的问题总会导致命错误!
GravatarQhelDIV
2013-01-13 11:20 1楼

334. [NOI 2003]木棒游戏

★☆   输入文件:stickgame.in   输出文件:stickgame.out   简单对比
时间限制:1 s   内存限制:128 MiB

【问题描述】

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

Image:Stickgame1.gif

【任务】

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

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

【说明和限制】

  1. 式子中的数可能是正数或负数,运算符号只会出现加号和减号,并且有且仅有一个等号,不会出现括号、乘号或除号,也不会有++,--,+-或-+出现。
  2. 式子中不会出现8个或8个以上的连续数字(数的绝对值小于等于9999999)。
  3. 你只能移动用来构成数字的木棒,不能移动构成运算符(+、-、=)的木棒,所以加号、减号、等号是不会改变的。移动前后,木棒构成的数字必须严格与图2中的0~9相符。
  4. 从文件读入的式子中的数不会以0开头,但允许修改后等式中的数以数字0开头。

Image:Stickgame2.gif

【输入数据】

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

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

【输出数据】

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

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

如果无解,则输出“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#