数模论坛

 找回密码
 注-册-帐-号
搜索
热搜: 活动 交友 discuz
查看: 9746|回复: 21

[讨论]这类题目能用编程求解吗?

[复制链接]
发表于 2003-7-10 04:16:10 | 显示全部楼层 |阅读模式
前提:
   1,有五种颜色的房子。
> > 2,每座房子的主人国籍都不同。
> > 3,各人喝不同的饮料,抽不同的烟,养不同的宠物。
> >
> >提示:
> > 1, 英国人住红房子。
> > 2,瑞典人养狗。
> > 3,丹麦人喝茶。
> > 4,绿房子在白房子的左边。
> > 5,绿房子的主人喝咖啡。
> > 6,抽PALL MALL烟的人养鸟。
> > 7,黄房子的主人抽DUNHILL烟。
> > 8,住中间房子的人喝牛奶。
> > 9,挪威人住第一间房子。
> > 10,抽混合型烟的人住养猫人的旁边。
> > 11,养马的人住抽DUNHILL烟的人旁边。
> > 12,抽BLUE MASTER烟的人喝啤酒。
> > 13,德国人抽PRINCE烟。
> > 14,挪威人住在蓝房子的旁边。
> > 15,抽混合型烟的人的邻居喝矿泉水。
> >
> >问:那国人养鱼,同时他住第几间房子
发表于 2003-7-10 17:43:30 | 显示全部楼层

当然能解,用万能算法 ---- 穷举法。时间复杂度为 5^5 3125次就算完啦
 楼主| 发表于 2003-7-29 06:49:01 | 显示全部楼层

谁得到答案了?
发表于 2003-7-29 08:26:18 | 显示全部楼层

没有,很难写出来
发表于 2003-7-29 20:13:43 | 显示全部楼层

这里一共有五个国籍,五种颜色,五种位置,五种宠物,五种饮料和五种烟,如果穷举的话,我怎觉得最多是用5^6&#215;4^6&#215;3^6&#215;2^6即15625&#215;4096&#215;729&#215;64=<FONT COLOR="FF0000">2985984000000</FONT>次运算才能解决呢?在下初来乍到,还望高手指正。

[此帖子已被 流水 在 2003-7-29 13:37:22 编辑过]
发表于 2003-7-29 22:31:05 | 显示全部楼层

我曾经看到一段解决这个问题的代码
不过它是用Lisp写成的

结果是这个吧:
从左往右,房子的颜色为:黄色,蓝色,红色,绿色,白色。

黄色房子,住的是挪威人,喝矿泉水,养猫,抽DUNHILL烟。
蓝色房子,住的是丹麦人,喝茶,养马,抽混合烟。
红色房子,住英国人,喝牛奶,养鸟,抽PALL MALL烟。
绿色房子,住德国人,喝咖啡,养鱼,抽PRINCE。
白色房子,住瑞典人,喝啤酒,养狗,抽BLUE MASTER。
发表于 2003-7-29 22:58:09 | 显示全部楼层

那是什么算法呢?该不会也是穷举吧?
发表于 2003-7-29 23:23:47 | 显示全部楼层

Lisp是一种人工智能语言
它用的方法好像是逻辑演算
发表于 2003-7-29 23:28:11 | 显示全部楼层

用图论方法应该可解。
发表于 2003-7-29 23:32:57 | 显示全部楼层

就算是穷举,也是条件穷举嘛,不用算那么多次
您需要登录后才可以回帖 登录 | 注-册-帐-号

本版积分规则

小黑屋|手机版|Archiver|数学建模网 ( 湘ICP备11011602号 )

GMT+8, 2024-11-27 01:29 , Processed in 0.053337 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表