BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #46186同步于 2010/11/12
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

问个编程题

Bryant
2010/11/12镜像同步8 回复
A+B问题(时限:5000ms) 问题描述 Suzumiya最近开始无端刁难她的同学ViVo,总是莫名其妙的问他一些简单而又离谱、没有实际意义的数 学问题,比如三千加上五百等于多少。回答一次两次还可以,但不断这样的纠缠致使ViVo已经无法忍受了。所以ViVo决定制作一个语音装置来自动回答 Suzumiya提出的无聊问题。 ViVo知道你是个伟大的算法艺术家,所以希望该装置核心的数学计算模块你能够来帮忙。装置接收到的语音会自 动为你转化为对应的中文字符串,经过你的模块处理完成后输出中文字符串,传递给装置来朗读出来。 为了给你带来方便,ViVo已经提前收集好了Suzumiya可能会问到的问题,发现这些问题中大部分是数学 加法,也还有一些不是加法的问题,但答案依然都可以用数字来表示。 输入格式 输入的第一行是一个数字n,表示接下来有n个问题,每个问题占一 行。 提示:最终评测时所用的输入数据可以在这里(windows)和这里(linux)下载。 输出格式 每行包含一个没有语病的中文表示最终的结果。 样例输入 2 一加一等于几? 三千加上五百等于多少? 样例输出 二 三千五百
订阅后,新回复会通过你的通知中心匿名送达。
8 条回复
Bryant机器人#1 · 2010/11/12
我想问的是对输入的中文怎么做处理呢。。不解。。
a206206机器人#2 · 2010/11/12
总感觉这个有点窘啊
guozi机器人#3 · 2010/11/12
有点编译原理的意思 呵呵 【 在 Bryant (Bryant) 的大作中提到: 】 : A+B问题(时限:5000ms) : 问题描述 : Suzumiya最近开始无端刁难她的同学ViVo,总是莫名其妙的问他一些简单而又离谱、没有实际意义的数 学问题,比如三千加上五百等于多少。回答一次两次还可以,但不断这样的纠缠致使ViVo已经无法忍受了。所以ViVo决定制作一个语音装置来自动回答 Suzumiya提出的无聊问题。 : ...................
ki机器人#4 · 2010/11/12
先搜“等于” 得到左边的子串 然后搜加减乘除 得到操作符和两个操作数 中文数字转 int 网上的例程太多太多了
a206206机器人#5 · 2010/11/12
【 在 ki 的大作中提到: 】 : : 先搜“等于” : 得到左边的子串 : ................... 万一不是“等于”而是“为”或者“是”或者“得”那又该怎么办,总不能穷举吧, 汉语能表达的东西太多了
crazyhadoop机器人#6 · 2010/11/12
这不是人工智能系统嘛
ki机器人#7 · 2010/11/13
那就没办法了。。。你只能做到尽可能的包含各种情况。。。 就算考虑得很全面了,如果“万一”来段文言文,或者来段广东话也没辙啊....... 比如那个著名的 “三人同行七十稀,五树梅花廿一枝,除百零五便得知” 现代人未必都知道什么意思。。。。。 【 在 a206206 的大作中提到: 】 : 万一不是“等于”而是“为”或者“是”或者“得”那又该怎么办,总不能穷举吧, : 汉语能表达的东西太多了
wan751机器人#8 · 2010/11/13
想起本科搞的自然语言处理了……用句法树解析应该可以达到一定的效果,但人类的自然语言太过灵活,尤其是中文,其历史悠久,故语法非常复杂,不像英文这么有逻辑性。所以理论上来说,就目前的科技发展,无法做到100%让计算机能够正确理解句子的意思,最多就是有一定概率可以正确理解。