thesnow 发表于 2009-11-10 13:29:26

每周任务#4

自从thesnoW失业后,每周任务就没更新过了.

此时回来,补一补数.
还是两个题,一难一易.
A:
当您用过Winamp,自然知道它的媒体库.为什么一个50000项目(确实这么多,1.1T的MP3)的媒体库,重新搜索一次只需要几分钟?
如果重新枚举所有文件,再判断文件是不是在媒体库中是不现实的,这样耗时和重新添加一遍相差无几了.那么问题在哪里呢?
参考:http://msdn.microsoft.com/en-us/library/aa365465(VS.85).aspx
写一个属于你的目录监视.

B:
爱因斯坦在20世纪初出的这个谜语。他说世界上有98%的人答不出来。某家公司在面试应聘者时借用了爱因斯坦的这个
IQ题,考查应聘者的IQ,现在我们暂且不去讨论这个公司用这样的题目来考查应聘者的IQ有多“过分”,如果是你,拿到
了这样的笔试题目,你能做得出来吗?
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香烟的人有一个喝水的邻居
以上是爱因斯坦在20世纪初出的这个谜语。他说世界上有98%的人答不出来

答案网上到处是,现在我们用AU3来解决这个问题.

水木子 发表于 2009-11-10 13:39:06

本帖最后由 水木子 于 2009-11-10 13:43 编辑

哇!头好晕:face (2):

catcher 发表于 2009-11-10 17:20:39

终于出现,出题后能不能在出下一任务的时候给出上一次任务的答案
当然,任务都有人交作业的,但还是希望能有个官方答案

thesnow 发表于 2009-11-10 17:51:25

回楼上,世上很多事情是没有标准答案的.
特别是编程,一个思路,一个原理,远比一个成品重要.

举个例子:
我想吃酸菜鱼,但是不知道做法,网上求标准答案.有么?网上能给你一个步骤,思路,或者一个作品,就是没有标准答案.

顽固不化 发表于 2009-11-14 10:39:06

本帖最后由 顽固不化 于 2009-11-14 10:43 编辑

好难好难,要建立数学模型啦i

第一个,估计不是一次计算的,“积少成多”,每次打开一个目录,会计算一次,总统计就是累加各个目录的原始结果。我看有些监控录像就是这么干的。

a1986040444 发表于 2009-11-19 20:14:43

完全没有头绪哇

cutyourchicken 发表于 2009-11-19 22:00:10

:face (18)::face (18)::face (18):来看看

l100593120 发表于 2009-11-24 11:44:21

天啊 !~ 这个问题到还可以分析出来 答案!~ 但要用AU3来做! 我就有点晕晕的了 !~

gapkiller 发表于 2009-11-24 17:59:16

4、绿色房子在白色房子左面
这句话的意思???
是紧挨着左边呢,还是左面任何一个地方....?
如果不是紧挨着,似乎答案不唯一啊...

anyky123 发表于 2009-11-24 20:29:38

:face (2):晕晕!

xwt620 发表于 2009-11-28 13:28:58

:face (3): :face (3): 偶不懂哦~~等待高手回复,然后studing...

rolaka 发表于 2009-12-1 22:39:17

未完工

本帖最后由 rolaka 于 2009-12-2 20:59 编辑

第一个研究中...= =!

第二道...只写完检测部分 生成答案的递归没来得及写完

;首先 生成5个人 5栋房子

;房子
Local $house

;颜色
Global $h = ["黄", "蓝", "红", "绿", "白"]
;国籍
Global $c = ["挪威人", "丹麦人", "英国人", "德国人", "瑞典人"]
;饮料
Global $d = ["水", "茶", "牛奶", "咖啡", "啤酒"]
;香烟
Global $s = ["Dunhill", "Blends", "Pall Mall", "Prince", "Blue Master"]
;宠物
Global $p = ["猫", "马", "鸟", "鱼", "狗"]

;开始生成数组...这里直接提交答案 应该是个答案数组生成...这个还没写...
For $i = 0 To 4
        $house[$i] = $c[$i]
        $house[$i] = $h[$i]
        $house[$i] = $d[$i]
        $house[$i] = $s[$i]
        $house[$i] = $p[$i]
Next

MsgBox (0, "", Check($house))

;首先 写一个检测函数
Func Check($house)
        ;1、英国人住红色房子
        For $i = 0 To 5
                If $i == 5 Then
                        Return 0
                EndIf
                If $house[$i] == "英国人" Then
                        If $house[$i] == "红" Then
                                ExitLoop
                        EndIf
                EndIf
        Next
        ;2、瑞典人养狗
        For $i = 0 To 5
                If $i == 5 Then
                        Return 0
                EndIf
                If $house[$i] == "瑞典人" Then
                        If $house[$i] == "狗" Then
                                ExitLoop
                        EndIf
                EndIf
        Next
        ;3、丹麦人喝茶
        For $i = 0 To 5
                If $i == 5 Then
                        Return 0
                EndIf
                If $house[$i] == "丹麦人" Then
                        If $house[$i] == "茶" Then
                                ExitLoop
                        EndIf
                EndIf
        Next
        ;4、绿色房子在白色房子左面
        For $i = 0 To 4
                If $i == 4 Then
                        Return 0
                EndIf
                If $house[$i] == "绿" Then
                        If $house[$i+1] == "白" Then
                                ExitLoop
                        EndIf
                EndIf
        Next
        ;5、绿色房子主人喝咖啡
        For $i = 0 To 5
                If $i == 5 Then
                        Return 0
                EndIf
                If $house[$i] == "绿" Then
                        If $house[$i] == "咖啡" Then
                                ExitLoop
                        EndIf
                EndIf
        Next
        ;6、抽Pall Mall 香烟的人养鸟
        For $i = 0 To 5
                If $i == 5 Then
                        Return 0
                EndIf
                If $house[$i] == "Pall Mall" Then
                        If $house[$i] == "鸟" Then
                                ExitLoop
                        EndIf
                EndIf
        Next
        ;7、黄色房子主人抽Dunhill 香烟
        For $i = 0 To 5
                If $i == 5 Then
                        Return 0
                EndIf
                If $house[$i] == "Pall Mall" Then
                        If $house[$i] == "鸟" Then
                                ExitLoop
                        EndIf
                EndIf
        Next
        ;8、住在中间房子的人喝牛奶
        If $house <> "牛奶" Then
                Return 0
        EndIf
        ;9、 挪威人住第一间房
        If $house <> "挪威人" Then
                Return 0
        EndIf
        ;10、抽Blends香烟的人住在养猫的人隔壁
        For $i = 0 To 5
                If $i == 5 Then
                        Return 0
                EndIf
                If $house[$i] == "Blends" Then
                        If $i > 0 Then
                                If $house[$i-1] == "猫" Then
                                        ExitLoop
                                EndIf
                        EndIf
                        If $i < 0 Then
                                If $house[$i+1] == "猫" Then
                                        ExitLoop
                                EndIf
                        EndIf
                EndIf
        Next
        ;11、养马的人住抽Dunhill 香烟的人隔壁
        For $i = 0 To 5
                If $i == 5 Then
                        Return 0
                EndIf
                If $house[$i] == "马" Then
                        If $i > 0 Then
                                If $house[$i-1] == "Dunhill" Then
                                        ExitLoop
                                EndIf
                        EndIf
                        If $i < 0 Then
                                If $house[$i+1] == "Dunhill" Then
                                        ExitLoop
                                EndIf
                        EndIf
                EndIf
        Next
        ;12、抽Blue Master的人喝啤酒
        For $i = 0 To 5
                If $i == 5 Then
                        Return 0
                EndIf
                If $house[$i] == "Blue Master" Then
                        If $house[$i] == "啤酒" Then
                                ExitLoop
                        EndIf
                EndIf
        Next
        ;13、德国人抽Prince香烟
        For $i = 0 To 5
                If $i == 5 Then
                        Return 0
                EndIf
                If $house[$i] == "德国人" Then
                        If $house[$i] == "Prince" Then
                                ExitLoop
                        EndIf
                EndIf
        Next
        ;14、挪威人住蓝色房子隔壁
        For $i = 0 To 5
                If $i == 5 Then
                        Return 0
                EndIf
                If $house[$i] == "挪威人" Then
                        If $i > 0 Then
                                If $house[$i-1] == "蓝" Then
                                        ExitLoop
                                EndIf
                        EndIf
                        If $i < 5 Then
                                If $house[$i+1] == "蓝" Then
                                        ExitLoop
                                EndIf
                        EndIf
                EndIf
        Next
        ;15、抽Blends香烟的人有一个喝水的邻居
        For $i = 0 To 5
                If $i == 5 Then
                        Return 0
                EndIf
                If $house[$i] == "Blends" Then
                        If $i > 0 Then
                                If $house[$i-1] == "水" Then
                                        ExitLoop
                                EndIf
                        EndIf
                        If $i < 5 Then
                                If $house[$i+1] == "水" Then
                                        ExitLoop
                                EndIf
                        EndIf
                EndIf
        Next
        Return 1
EndFunc

hh_wzj 发表于 2009-12-6 11:07:30

楼上定义的项目好象还缺一个:房子的位置

rolaka 发表于 2009-12-27 19:23:13

楼上定义的项目好象还缺一个:房子的位置
hh_wzj 发表于 2009-12-6 11:07 http://www.autoitx.com/images/common/back.gif
俄 原来有 后来去掉了 用数组的index代替了

haorui658 发表于 2010-1-6 20:48:42

回复 12# rolaka


    写的好多啊
页: [1] 2
查看完整版本: 每周任务#4