回 帖 发 新 帖 刷新版面

主题:这道题能否编程

1、在一条街上,有5座房子,喷了5种颜色。

2、每个房里住着不同国籍的人

3、每个人喝不同的饮料,抽不同品牌的香烟,养不同的宠物

问题是:谁养鱼?

提示:

1、英国人住红色房子

2、瑞典人养狗

3、丹麦人喝茶

4、绿色房子在白色房子左面

5、绿色房子主人喝咖啡

6、抽Pall Mall 香烟的人养鸟

7、黄色房子主人抽Dunhill 香烟

8、住在中间房子的人喝牛奶

9、挪威人住第一间房

10、抽Blends香烟的人住在养猫的人隔壁

11、养马的人住抽Dunhill 香烟的人隔壁

12、抽Blue Master的人喝啤酒

13、德国人抽Prince香烟

14、挪威人住蓝色房子隔壁

15、抽Blends香烟的人有一个喝水的邻居

回复列表 (共18个回复)

11 楼

我是新手,请问什么叫"剪枝"?[em18]

12 楼

这题……一一枚举速度是问题。我用逻辑推理编出来了,是C#的。本质思想就是把15个规则翻译成一个个的函数,然后循环遍历这些函数直到答案确定。

13 楼

一大堆if + 循环穷举 就可以搞定了

注:这不是胡说,因为我做过类似的(关于不同国籍的人之间交谈的一道题)

14 楼

大体思路:
1、穷举每个人住房不同的情况
2、判断是否适合15个已知条件
3、输出

不会超时的,这道题的数据规模很小

15 楼

数据规模小么?一共(5!)^5即120^5种情况要你枚举的

16 楼

如果我没推错,
德国人养鱼吧?

17 楼

上大学的时候在报纸上看到一个类似的题,没想到用编程,
整个晚上都用来推理了,3个小时才想出来
结果下一期报纸公布答案自己还推错了,郁闷
这次用脑袋和笔头子划了20分钟,自己感觉挺有进步,
呵呵,寒一个先~~~

18 楼

真的是德国人么?
啊?
难道我又做对了??

我来回复

您尚未登录,请登录后再回复。点此登录或注册