请教:24点高效算法。

liutao142857 2014-05-14 12:31:38
请教24点高效算法,如给定4个数字a,b,c,d
之前遍历过a+b+c+d,就不要在遍历b+a+c+d,c+a+b+d等同类的了。
...全文
864 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
RICHEER COCA 2014-05-15
  • 打赏
  • 举报
回复
引用 4 楼 jmppok 的回复:
[quote=引用 3 楼 zhao4zhong1 的回复:] http://bbs.csdn.net/topics/380157851
[/quote]
  • 打赏
  • 举报
回复
仅就24点来说,4个数字,4种运算符,不超过10种运算顺序,这点优化是没必要的
赵4老师 2014-05-15
  • 打赏
  • 举报
回复
纠正上帖: 过早的优化是万恶之源!
赵4老师 2014-05-15
  • 打赏
  • 举报
回复
引用 7 楼 liutao142857 的回复:
http://bbs.csdn.net/topics/380157851 这显然不算高效算法。很暴力搜索没什么两样。
过早的优化是码农之殇! Q:啥叫”过早“? A:没有正确实现所需逻辑之前。
liutao142857 2014-05-15
  • 打赏
  • 举报
回复
怎样针对某人回贴啊?
liutao142857 2014-05-15
  • 打赏
  • 举报
回复
http://bbs.csdn.net/topics/380157851 这显然不算高效算法。很暴力搜索没什么两样。
赵4老师 2014-05-15
  • 打赏
  • 举报
回复
赵4老师 2014-05-15
  • 打赏
  • 举报
回复
引用 14 楼 liutao142857 的回复:
[quote=引用 13 楼 zhao4zhong1 的回复:] 楼主请详细阅读http://bbs.csdn.net/topics/380157851中有关所谓去除重复项的讨论!
后面的没看,如果指的是第1楼的话,有2个问题: 1。(a+b)+c+d 和a+(b+c)+d并没有区分开来,同理其它类似的一样,这并不能算高效的算法。 2。该算法分的几类均没有交换a,b,c,d的想对位置,即如果给出3,3,8,8,这样的数字,她是无法给出答案的。而给出8,3,3,8可能去有答案,这显然是无法接收的。 所以说这是一个错误的算法,且并不高效。 或许我理解错了:)[/quote] 我记错了,不在原帖中,在这个帖子里面: http://bbs.csdn.net/topics/390377167?page=2 一是因为判断一个四则运算式是否等价比较麻烦,可能需要用到表达式树的比对。 二是因为具体到每张扑克牌可以认为不等价,原帖中有讨论这个的。 那你能举例说明精确无异议地定义出哪些运算过程之间是等价的,我也会佩服你的。 或者试试将我那个程序的输出作为按你的等价原则分类汇总代码的输入,输出一个无异议的最终去重结果也行。 不论用不用“表达式树比对”思路。 ……
liutao142857 2014-05-15
  • 打赏
  • 举报
回复
引用 13 楼 zhao4zhong1 的回复:
楼主请详细阅读http://bbs.csdn.net/topics/380157851中有关所谓去除重复项的讨论!
后面的没看,如果指的是第1楼的话,有2个问题: 1。(a+b)+c+d 和a+(b+c)+d并没有区分开来,同理其它类似的一样,这并不能算高效的算法。 2。该算法分的几类均没有交换a,b,c,d的想对位置,即如果给出3,3,8,8,这样的数字,她是无法给出答案的。而给出8,3,3,8可能去有答案,这显然是无法接收的。 所以说这是一个错误的算法,且并不高效。 或许我理解错了:)
赵4老师 2014-05-15
  • 打赏
  • 举报
回复
楼主请详细阅读http://bbs.csdn.net/topics/380157851中有关所谓去除重复项的讨论!
sniffer12345 2014-05-14
  • 打赏
  • 举报
回复
引用 楼主 liutao142857 的回复:
请教24点高效算法,如给定4个数字a,b,c,d 之前遍历过a+b+c+d,就不要在遍历b+a+c+d,c+a+b+d等同类的了。
运算符有哪些?如果只是四则加括号,那就把所有可能cache起来,嘿嘿,计算的时候就是O(1)
赵4老师 2014-05-14
  • 打赏
  • 举报
回复
引用 4 楼 jmppok 的回复:
[quote=引用 3 楼 zhao4zhong1 的回复:] http://bbs.csdn.net/topics/380157851
[/quote]
jmppok 2014-05-14
  • 打赏
  • 举报
回复
引用 3 楼 zhao4zhong1 的回复:
http://bbs.csdn.net/topics/380157851
赵4老师 2014-05-14
  • 打赏
  • 举报
回复
liutao142857 2014-05-14
  • 打赏
  • 举报
回复
重点是思维,OK。
FancyMouse 2014-05-14
  • 打赏
  • 举报
回复
这高效了干啥?就算暴力搜索,整个搜索空间也就几千个可能,给20年前的电脑都能秒出。你难道要一秒算几万个24点?

64,682

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧