[迷题]你真的属于那仅有的2%的聪明人吗?

W5500 MACRAW模式实战:在ESP32上抓取并解析原始以太网数据包 本文详细介绍了如何在ESP32开发板上使用W5500芯片的MACRAW模式捕获和解析原始以太网数据包。通过硬件连接指南、代码实现示例和协议解析技巧,帮助开发者深入理解网络通信底层机制,实现网络嗅探和自定义协议开发等高级应用。 阅读详情

  你属于聪明的那类2%的人么?

题目是这样的:
--------------------------------------------------------------------------------
  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香烟的人有一个喝水的邻居
问题是:谁养鱼?
--------------------------------------------------------------------------------

把上面的题目用表格表示一下是这样:
--------------------------------------------------------------------------------

房子色

國籍人

喝飲料

抽煙

寵物

位置

紅色

英國人

 

 

 

 

 

瑞典人

 

 

养狗

 

黄色

 

 

Dunhill

 

 

绿色

 

喝咖啡

 

 

白色房子左邊

 

丹麦人

喝茶

 

 

 

房子次序

房子色

國籍人

飲料

寵物

抽煙

1

 

挪威人

 

 

 

2蓝色

 

 

 

 

 

3

 

 

牛奶

 

 

4

 

 

 

 

 

5

 

 

 

 

 

抽煙

國籍人

寵物

飲料

位置

Dunhill

 

 

 

养马人隔壁

Blue Master

 

 

啤酒

 

Prince

德国人

 

 

 

Blends

 

 

 

养猫人隔壁喝水的邻居

Pall Mall

 

养鸟

 

 


用以上表格为题,填满下面表格:

房子次序

房子色

國籍人

飲料

寵物

抽煙

1

 

挪威人

 

 

 

2

蓝色

 

 

 

 

3

 

 

牛奶

 

 

4

 

 

 

 

 

5

 

 

 

 

 


好好思考一下题目。以下是答案:





C#程序编写出后的源码:

using System;
namespace netsafe.math
{
public class ayst
{
/// <summary>
/// 问题中的所有元素
/// </summary>
string[,] data= {{"黄房子","蓝房子","白房子","红房子","绿房子"},
{"挪威人","英国人","德国人","丹麦人","瑞典人"},
{"DUNHILL","PRINCE","混合烟", "PALL MALL","BLUE MASTER"},
{"咖 啡","矿泉水","茶","牛奶"," 啤酒 "},
{"鱼"," 恐龙","马", "鸟","狗"}};
/// <summary>/// answer用来存放答案
/// </summary>
int[,] answer=new int[6, 6];
int[,] ALL=new int[6,122];
int count=1;
int nLevel = 0;
int[] List=new int[6];
public static void Main(string[] args)
{
ayst c=new ayst();
c.p(); ///生成全排列到all
c.run();
Console.Read(); /// 按任意键继续
}
void run()
{
int i1,i2,i3,i4,i5;///通过逻辑条件顺序的有效选择来优化程序
for (i1=1;i1<=120;i1++)///房子
{
///9 、挪威人住第一间房子
///14 、挪威人住在蓝房子旁边
///不满足条件就短路
///
if (ALL[2,i1]!=2)continue;
for(int j=0;j<5;j++,answer[j,1]=ALL[j,i1]);
for (i2=1;i2<=120;i2++)///人种
{
for(int j=0;j<5;j++,answer[j,2]=ALL[j,i2]);
///9 、挪威人住第一间房子
if (ALL[1,i2]!=1)continue;
///1、 英国人住在红房子里
///
if (find(1,4)!=find(2,2))continue;
///4 、绿房子在白房子左边
///
if (find(1,5)>find(1,3))continue;
for (i3=1;i3<=120;i3++)///烟
{
for(int j=0;j<5;j++,answer[j,3]=ALL[j,i3]);
///13、 德国人抽PRINCE烟
///
if(find(2,3)!=find(3,2))continue;
///7 、黄房子主人抽DUNHILL烟
///
if(find(1,1)!=find(3,1))continue;
for (i4=1;i4<=120;i4++)///饮料
{
for(int j=0;j<5;j++,answer[j,4]=ALL[j,i4]);
///8 、住在中间那间房子的人喝牛奶
///
if(ALL[3,i4]!=4)continue;
///5 、绿房子主人喝咖啡
///
if (find(1,5)!=find(4,1))continue;
///3 、丹麦人喝茶
///
if(find(2,4)!=find(4,3))continue;
///15 、抽混合烟的人的邻居喝矿泉水
if(Math.Abs(find(3,3)-find(4,2))!=1)continue;
///12 、抽BLUE MASTER烟的人喝啤酒
///
if(find(3,5)!=find(4,5))continue;
for (i5=1;i5<=120;i5++)///宠物
{
for(int j=0;j<5;j++,answer[j,5]=ALL[j,i5]);
///10 、抽混合烟的人住在养鱼人的旁边
///
if(Math.Abs(find(3,3)-find(5,1))!=1)continue;
///2 、瑞典人养了一条狗
///
if(find(2,5)!=find(5,5))continue;
///6 、抽PALL MALL烟的人养了一只鸟
///
if(find(3,4)!=find(5,4))continue;
///11 、养马人住在DUNHILL烟的人旁边
///
if(Math.Abs(find(5,3)-find(3,1))!=1)continue;
///
///能活到这里的data,当然是答案喽
///
write_answer();
}
}
}
}
}
}
/// <summary>
/// 非常典型的用递归实现排列组合算法。
/// </summary>
public void p()   
{
int nCount,nJudge,key;
nLevel++;
if(nLevel>5)
{
writeall();///有一种排列就写到All数组里
nLevel--;
return;
}
for(nCount=1;nCount<=5;nCount++)
{
key=0;
for(nJudge=0;nJudge<=nLevel-1;nJudge++)
if(nCount==List[nJudge])
{
key=1;
break;
}
if(key==0)
{
List[nLevel]=nCount;
p();
}
}
nLevel--;
}
/// <summary>
/// 写入all数组
/// </summary>
void writeall()
{
int i;
for (i=1;i<=5;i++)
{
ALL[i,count]=List[i];
}
count++;
}
int find(int i,int j)
{
int k;
for(k=0;k<=5;k++)
{
if (answer[k,i]==j)
{
return k;
}
}
return -1;
}
/// <summary>
/// 将答案打印出来
/// </summary>
void write_answer()
{
for (int i = 1;i<=5;i++)
{
for(int j=1 ;j<=5;j++)
{
Console.Write(data[i-1,answer[j,i]-1]+",");
}
Console.WriteLine();
}
Console.WriteLine();
}
}
}



-----------------------------------------------------------------------------------

执行程序后,答案竟然是七种可能:

黄房子,蓝房子,红房子,绿房子,白房子,
挪威人,丹麦人,英国人,德国人,瑞典人,
DUNHILL,混合烟,PALL MALL,PRINCE,BLUE MASTER,
矿泉水,茶,牛奶,咖 啡, 啤酒 ,
鱼,马,鸟, 恐龙,狗,

绿房子,蓝房子,黄房子,红房子,白房子,
挪威人,德国人,瑞典人,英国人,丹麦人,
混合烟,PRINCE,DUNHILL,BLUE MASTER,PALL MALL,
咖 啡,矿泉水,牛奶, 啤酒 ,茶,
恐龙,鱼,狗,马,鸟,

绿房子,蓝房子,白房子,黄房子,红房子,
挪威人,德国人,瑞典人,丹麦人,英国人,
PALL MALL,PRINCE,混合烟,DUNHILL,BLUE MASTER,
咖 啡,矿泉水,牛奶,茶, 啤酒 ,
鸟,鱼,狗, 恐龙,马,

绿房子,蓝房子,白房子,黄房子,红房子,
挪威人,德国人,瑞典人,丹麦人,英国人,
PALL MALL,PRINCE,混合烟,DUNHILL,BLUE MASTER,
咖 啡,矿泉水,牛奶,茶, 啤酒 ,
鸟, 恐龙,狗,鱼,马,

绿房子,蓝房子,白房子,红房子,黄房子,
挪威人,德国人,瑞典人,英国人,丹麦人,
PALL MALL,PRINCE,混合烟,BLUE MASTER,DUNHILL,
咖 啡,矿泉水,牛奶, 啤酒 ,茶,
鸟,鱼,狗,马, 恐龙,


绿房子,蓝房子,红房子,黄房子,白房子,
挪威人,德国人,英国人,丹麦人,瑞典人,
PALL MALL,PRINCE,混合烟,DUNHILL,BLUE MASTER,
咖 啡,矿泉水,牛奶,茶, 啤酒 ,
鸟,鱼,马, 恐龙,狗,

绿房子,蓝房子,红房子,黄房子,白房子,
挪威人,德国人,英国人,丹麦人,瑞典人,
PALL MALL,PRINCE,混合烟,DUNHILL,BLUE MASTER,
咖 啡,矿泉水,牛奶,茶, 啤酒 ,
鸟, 恐龙,马,鱼,狗,

------------------------------------------------------------------------------------------

【Unity】【模型】【AI建模】如何将AI生成的GLB格式3D模型文件导入Unity 本文介绍了一个将AI工具自动生成的GLB格式3D模型文件转换成fbx模型文件导入Unity的步骤。 阅读详情

相关推荐

OpenCV-Python实战(1)——OpenCV简介与图像处理基础

OpenCV 是一个的跨平台计算机视觉库,可以运行在 Linux、Windows 和 Mac OS 操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时也提供了 Python 接口,实现了图像处理和计算机视觉方面的很多通用算法。在本文中,将介绍 OpenCV 库,包括它的主要模块和典型应用场景,同时使用 OpenCV-Python 实战讲解图像处理基础要点。

盼小辉丶的博客 27万+

鲁林希学习笔记

自我反思 及时提问 知识巩固 课后作业 我们是否贯彻了上课得思维模式 我是否踏入了上课所说的误区 我和曾经有什么改变 能力 执行力 动力

拱卒的博客 2001

Transformer 时间序列预测实战

Transformer 时间序列预测实战

机器学习深度学习业余选手 730

迷题出自1981年柏林的德国逻辑思考学院

1 有五栋五种颜色的房子 2 每一位房子的主国籍都不同 3 这五个只喝一种饮料,只抽一种牌子的香烟,只养一种宠物 4 没有有相同的宠物,抽相同牌子的香烟,喝相同的饮料 提示:1、 英国住在红房子里2 、瑞典养了一条狗3 、丹麦喝茶4 、绿房子在白房子左边5 、绿房子主喝咖啡6 、抽PALL MALL烟的养了一只鸟7 、黄房子主抽DUNHILL烟8 、住在中间那间房子的喝牛奶

sleepforest的专栏 2116

923A - 你应该看的书

All in all, from 笛卡尔:“最有价值的知识是方法的知识” PART 0: 单片机原理 北航 匠手记 《嵌入式C语言编程与Microchip》 嵌入式系统:体系结构编程与设计(入门) 单片机原理及接口技术 ARM嵌入式系统开发:软件设计与优化 ARM嵌入式接口技术应用 作者:刘凯 编著 嵌入式硬件设计 徐军明,徐铁军翻译...

weixin_34125592的博客 164

[乱七八糟]偶然发现了个爽死的下载网站!

网址:http://www.365mix.com/tools/爽到死!------------喜欢DJ的朋友,千万别错过了!

[橫渡] 11万+

全新无边框窗口实现方式[HTML]

  一种没有边框及菜单栏、工具栏、地址栏、状态栏等的无边框窗口(CW)曾经一度很流行,被很多网站尤其是个网站所采用,CW也有现成的源码供网友们使用,但是最初的CW使用起来很不方便,有两个JS文件,还要设置一些参数,这对一些初学者来讲是很困难的事情。所以我就有了一个想法:重新写一个全新的无边框窗口,只用一个函数实现,以供网友方便使用。  我给这个全新的无边框窗口起名为NBW,NBW即No Bord

[橫渡] 7220

Sock5协议(一)

SOCKS Protocol Version 5工作原理http://www.faqs.org/rfcs/rfc1928.htmlsock5代理的工作程序是: (转贴)1.需要向代理方服务器发出请求信息。 2.代理方应答 3.需要代理方接到应答后发送向代理方发送目的ip和端口 4.代理方与目的连接 5.代理方将需要代理方发出的信息传到目的方,将目的方发出的信息传到需要代理方。代理完成。

[橫渡] 3899

Sock5协议(二)

一个被公认的一个协议。文章摘要:   该文档描述了一个应用层的用于穿越IP网络防火墙的协议。这种穿越的安全性是高度依赖于正规的认证和正规执行方法提供的有效封装,以及在SOCKS客户端和SOCKS服务端所选择的安全性,还有管理员对认证方法选项所作的小心周密的考虑。           ------------------------------------------------------

[橫渡] 3342

[更改Blog界面的方法] 让你的Blog更个性化些。

这几天在CSDN的Blog上看了好些的文章!也收获或多或少!^o^不过在Blog上的界面看来看去都是这么传统的几个好看点。于是就突发奇想,看看可不可以把自己的Blog改得更好看更有自己的个性化点!呵!现在这个界面,就是结果了!下面我把代码贴出来,也让大家的Blog更个性化些吧!代码很简单,也只是一些HTML加上一点点Javascript罢了!最重要的就是要了解下CSS样式表了!_____

[橫渡] 3091

[乱七八糟]昨天所解的一道智力题目,有空大家也可来试试

題目:有12个乒乓球特征相同,其中只有一个重量异常,现在要求用一部没有砝码的天平称三次,将那个重量异常的球找出来。下面是答案==========================答題前記:昨天在考慮的時候有一個誤區。現在說明一下:三個球中找出一個異常球,是完全有可能的。為什麽這樣呢?三個球中找出異常球是完全可能的,但有一個前提:這三個球一定要在天平稱上稱過,知道其重還是輕。(如圖1)

[橫渡] 3048

[乱七八糟][经典收藏]全套民幣共81張

[经典收藏]全套民幣共81張第二套民币发行时间1955.3.1第三套民币 发行时间1962年4月20日第四套民币第五套民币 发行时间1999年10月1日

[橫渡] 2715

[乱七八糟]发现两款比较好用的软件

(1)ZoneAlarm 5.1下载地址:http://download.zonelabs.com/bin/free/1012_zl/zlsSetup_51_033_000.exe介绍:世界顶级防火墙,内存占用不大,功能强大到能让你偷着乐 。推荐用原版,虽然是英文的,但这样才能保证无后门程序 。更安全嘛! 你可以找到汉化说明, 也有汉化版,原版让放心些! 使用很简单,一会就能学会。 说实话,国产

[橫渡] 2569

让程序员汗顏的一贴

http://community.csdn.net/Expert/topic/3435/3435027.xml?temp=.2582056上面是链接地址。题目是:一道看起来简单的小学算术题,却总是得不到正确答案。不信,你试试看!!!!   一拿一张百元钞票到商店买了25元的东西,店主由于手头没有零钱,便拿这张百元钞票到隔壁的小摊贩那里换了100元零钱,并找回了那75元钱。那拿着25元的东

[橫渡] 2076

[乱七八糟]Flex到底是什么?

Flash相信大家都知道是什么了。就现在上网的朋友,有谁的浏览器不支持Flash player?随着网络的发展,下一代语言、下一代操作系统的呼声随即,Macromedia推出了“下一代Flash”:Flex无疑,Flash在现在来说,只是浏览器里的多媒体播放器而已,也就是说Flash也只是其一个插件。而Flex,又到底是什么呢?玩过Flash的朋友都知道,Flash本身更多于合适于Designer

[橫渡] 2066

[费事记忆]

注:本帖非回复帖,此为代码杂乱处。=======================

[橫渡] 1896

[乱七八糟]验证JS

 function ValiKey( obj ) {  //字符输入验证  if ( ( window.event.keyCode 122 ) &&    ( window.event.keyCode 57 ) &&    ( window.event.keyCode 90 ) )  {   window.alert( "Please input A-Z or a-z or 0-9 char

[橫渡] 1731

[乱七八糟]世界级设计网站收藏

今天收集了好些个特酷网站。共享给大家!主要体现在动画方面。(有时很是感悲哀,中国这样的强设计,实在太少了!也许这就是中外的差距吧!)http://www.dreamshocker.com/http://www.2advanced.com/http://www.distorter.net/builder/http://www.gorillaz.comhttp://www.neostream.com

[橫渡] 1712

[乱七八糟]一个还未解決的问题

今天程序中想到个问题,自己做了下,还没解决!水平有限。=======================问题是這樣:(ASP.net)有一個頁面,功能是動態梆定DataGrid。用戶在一些文本框中輸入數據,提交後,把用户输入的數據在DataGrid中顯示出来,用户每输入一次,DataGrid自增一行显示。這中間不經過任何有关于數據庫的相关操作。最後把用戶輸入完的全部數據(即DataGrid裏的全部數據

[橫渡] 1586

map,list简单方法

System.out.println(word1.stream().filter(a -> a.length() > 4).findFirst().orElse("没有找到"));// System.out.println(num3.stream().allMatch(new Predicate<Integer>() { // 等价匿名内部类版。

2301_80007421的博客 209

C++第十讲:list

list 是 C++ 标准库提供的双向循环链表容器,每个元素存储在独立的节点中,节点通过指针连接。底层结构:带头结点的双向循环链表特点:✅ 任意位置插入删除效率 O (1)(不需要搬移元素)❌ 不支持随机访问(不能用[],访问元素需要遍历,O (N))没有容量概念,节点动态申请释放​// 指向节点的指针​{}​// 解引用:返回节点数据的引用​// 箭头:返回节点数据的指针​// 前置++​// 后置++​// 前置--​// 后置--

weixin_54085376的博客 432

三角履带轮机器车3D图纸(SolidWorks设计).rar

设计作品

雅思精准词汇(单元词汇list).pdf

雅思精准词汇(单元词汇list).pdf

上一篇: [C/C++]标准MIDI文件格式
下一篇: [我的ASP.net学习历程]DataAdapter操作之(一)
bgu
bgu
博客等级 码龄24年 14粉丝 121原创
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值