网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
05月10日漏签0天
vb吧 关注:156,019贴子:1,166,212
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 1 2 3 下一页 尾页
  • 98回复贴,共3页
  • ,跳到 页  
<<返回vb吧
>0< 加载中...

编程解决“爱因斯坦经典逻辑题”,大家是否有兴趣一试呢?

  • 只看楼主
  • 收藏

  • 回复
  • 涐吢铱舊囿儚
  • 数据库
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
一楼喂度娘。
等半个钟头后,确认这个贴子没被吞,我再说下文。


  • 五代十国情仇
  • 网络通信
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
听


2026-05-10 05:34:03
广告
不感兴趣
开通SVIP免广告
  • hdxrnhdu
  • 数据类型
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
请开始表演


  • 南瓜头0
  • 网络通信
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
This is show time,人呢


  • 冰之源___
  • 暴力枚举
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
八点吃瓜前排


  • 涐吢铱舊囿儚
  • 数据库
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
大家在网上可以搜索到不少的“爱因斯坦经典逻辑题”方面的帖子。
基本上都是“用语言描述分析”的,也有用代码求解的(我只找到几个C++的)。
当然“原版出处”也许找不到,基本都是翻译成中文的了,内容差异不大。
前几天Q群里有人提起了这问题,也写出了解题代码。
题目内容基本是这样:

这个“提示”严格来说不应该称为提示,应该是“已知条件”或“限制条件”。
若没有“条件”,那么谁都可以养鱼,没有推理依据,这“问题”也不能成为真正的问题。
不过,上面的“第4项”似乎有点歧义,也许是“翻译”不准确的原因。
按我写出来的代码,如果“绿色房子”必须紧挨着白色房子,那么只有1个解;
  如果“绿色房子与白色房子可以不紧邻、只要符合‘在其左边’即可”,那么就会有7
组符合要求的解。估计爱因斯坦的“原意”应该是“绿、白紧邻”的。
当然,编程解决嘛,也没有什么好高深的:列举所有的组合、按条件进行判断呗。
  符合全部条件的即是“解”;任一条件不符合排除掉就是了。
只不过呢,编程自然就有“代码效率”问题,
  若不讲求技巧、方法,那么必然运行速度很慢。
毕竟每个“因素”(房子颜色、国籍、饮品、香烟、宠物)的全排列有120种(5!=120),
  5种因素全部的组合,就会有120⁵种,要把这么多种组合“查完”,耗时肯定不少。
当时群里那位的“初始代码”,运行了十几秒求出解,我的“直觉”就感觉太慢了。
  当然后来他发布出了优化过的代码,速度就要快得多了。
我运行试了一下,求“唯一解”的情况“通常情况”在100ms左右。
 感觉速度还算过得去罢。(我的电脑属于“低配”的)
后来我也按我的想法,写了一份代码。IDE中运行,基本是4ms,编译后基本为2ms。
(注意:我这个时间是“枚举所有可能的情况”,不是找到一个就结束)
我发这个帖子,是想让大家开动脑筋,写代码试试看,看你的代码效果如何。
现在大家主要考虑“绿色房子紧邻着白色房子”这种情况吧,看看你的代码需要
 运行多久求出答案。如果“运行时间长”的话(比如30ms以上),用GetTickCount()
 就行了,也可以用VB自身的 Timer()函数(此函数单位是“秒”,单精度值)。
 时间短的话,就要象下面我的代码中那样,用较高精度的API函数。
我的算法代码,暂时不公布,先只发个“效果图”。
下图另存为rar文件,可以解压出我的exe,可以在你的电脑上实际运行一下。

当然我的“初始代码”就是奔着“最高运行速度”去的,“枚举所有可能”的代码看起来有点乱。
不过最终速度是远比我想象的快多了(我原本以为“求全部解”会要100ms以上)。
过段时间,合适的时候,我会公布整理过后看起来“比较清晰”的代码,
 这样当然运行速度就会慢些,求全部解的,IDE中6、7ms,编译后4ms左右。


  • 涐吢铱舊囿儚
  • 数据库
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
大家来呀,开始挑战吧!!!


  • daviddyn
  • 数据库
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
一会儿我试试


2026-05-10 05:28:03
广告
不感兴趣
开通SVIP免广告
  • 冰之源___
  • 暴力枚举
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
所以限制只有国籍、饮料、香烟、房子颜色、宠物,去掉不合法的边,就是一个五层图(五分图),然后跑有源有汇无上下界网络流判断是否存在合法方案,如果存在,则可以随机获得一组解。但是如果要求求出所有解,则有点麻烦。


  • 璐村惂鐢ㄦ埛_0748V5Z馃惥
  • 网络通信
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我觉得你已经做到完美了,没有找到啥地方需要改进


  • oshi001
  • 钩子编程
    15
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
厉害了,难度高


  • 涐吢铱舊囿儚
  • 数据库
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
有没有谁写好解题代码了呢?


  • daviddyn
  • 数据库
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
@冰之源___ 刚才试了下五部图,发现按照题目给出的条件,去边效果极差,条件都无法递归,另外,像条件4、9、10、11这种跟位置有关的约束,怎么建模到这个五部图里又是个问题...


  • 素炒饸饹
  • 啥也不懂
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
其实就是个数独,列个表格就完了。


2026-05-10 05:22:03
广告
不感兴趣
开通SVIP免广告
  • oooooo
  • 啥也不懂
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
挑战这个“谁养猫的”,类型和“爱因斯坦经典逻辑题”应该是一样的。


星座王
点亮12星座印记,去领取
活动截止:2100-01-01
去徽章馆》
登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 1 2 3 下一页 尾页
  • 98回复贴,共3页
  • ,跳到 页  
<<返回vb吧
分享到:
©2026 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示