日期:2014-05-16  浏览次数:20394 次

4个裤衩了,散分。顺便找个题给大伙解解闷儿。
终于4个裤衩了,可以多放点分了。裤衩多了好,天热,一天换2还有2换洗的。

顺便发2个手册,希望对新手有用。(当年蹭分是这2本手册帮了我很大忙)
asp的:http://download.csdn.net/source/214149
js的:   http://download.csdn.net/source/204354

最近感觉有趣的话题好少,发个从网上找到的题给大家解解闷:

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香烟的人有一个喝水的邻居  

如果第一反应是自己掰手指头算或找只笔算的人就算了。如果首先想到对象、属性、排列组合和循环什么的人有兴趣的可以写写试试,。给出完整算法代码的人俺多给他点分。

------解决方案--------------------
先占个位置
------解决方案--------------------
看到过,这个比较明了:http://www.cnblogs.com/boolean/archive/2007/03/23/685776.html
------解决方案--------------------
接分
------解决方案--------------------
这是一个《逻辑》题

代码需要进行一些a交b,a并b,非a,非b等等的逻辑运算

我们单位的笔试题也有类似题,专门用来考核应试者的逻辑思维
------解决方案--------------------
养鱼的是德国人
------解决方案--------------------
哈哈不费脑子啦,只等接分啦
------解决方案--------------------
1-黄-挪威人-dunhill-猫--水
2-篮-丹麦--blends-马--茶
3-红-英国--pall mall-鸟--牛奶
4-绿-德国--prince---鱼---咖啡
5--白--瑞典--blue master-狗--啤酒

------解决方案--------------------
/* ---------------------------------------
判断中用下标表示国家 1英国 2瑞典 3丹麦 4挪威 5德国 (下标0的没使用)
其他用数组的值表示(房子顺序中值相差1表示邻居)
数组a 房子顺序 1 2 3 4 5
数组b 房子颜色 1红色 2绿色 3黄色 4白色 5蓝色
数组c 香烟 1Pall Mall 2Blue Mater 3Blends 4Dunhill 5Prince
数组d 饮料 1水 2牛奶 3咖啡 4茶 5啤酒
数组e 宠物 1鸟 2猫 3马 4鱼 5狗
-----------------------------------------*/
#include <iostream>
using namespace std;
bool condition(int a[6],int b[6],int c[6],int d[6],int e[6]) {
/*-----------这些是已经用switch判断了的条件-----------------------------------
//1、英国人住红色房子
if(b[1]!=1) return false;
//2、瑞典人养狗
if(e[2]!=5) return false;
//3、丹麦人喝茶
if(d[3]!=4) return false;
//9、挪威人住第一间房
if(a[4]!=1) return false;
//13、德国人抽Prince香烟
if(c[5]!=5) return false;
------------------------------------------*/

//8、住在中间房子的人喝牛奶
{int temp1;
for(int i=1; i <=5; i++) { if(a[i]==3) temp1=i;}
if(d[temp1]!=2) return false;
}


//4、绿色房子在白色房子左边
//5、绿色房子的主人喝咖啡
//7、黄色房子主人抽Dunhill
{int temp1,temp2,temp3;
for(int i=1;i <=5;i++) {
if(b[i]==2) temp1=i;
else if(b[i]==4) temp2=i;
else if(b[i]==3) temp3=i;
}
if((a[temp1]+1)!=a[temp2]) return false;
if(d[temp1]!=3) return false;
if(c[temp3]!=4) return false;

}

//14、挪威人住的房子在蓝色房子的隔壁
{int temp1,temp2;
temp1=a[4]-1;
temp2=a[4]+1;