找回密码
 加入
搜索
查看: 8147|回复: 24

每周任务#4

 火... [复制链接]
发表于 2009-11-10 13:29:26 | 显示全部楼层 |阅读模式
自从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 编辑

哇!头好晕
发表于 2009-11-10 17:20:39 | 显示全部楼层
终于出现,出题后能不能在出下一任务的时候给出上一次任务的答案
当然,任务都有人交作业的,但还是希望能有个官方答案
 楼主| 发表于 2009-11-10 17:51:25 | 显示全部楼层
回楼上,世上很多事情是没有标准答案的.
特别是编程,一个思路,一个原理,远比一个成品重要.

举个例子:
我想吃酸菜鱼,但是不知道做法,网上求标准答案.有么?网上能给你一个步骤,思路,或者一个作品,就是没有标准答案.
发表于 2009-11-14 10:39:06 | 显示全部楼层
本帖最后由 顽固不化 于 2009-11-14 10:43 编辑

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

第一个,估计不是一次计算的,“积少成多”,每次打开一个目录,会计算一次,总统计就是累加各个目录的原始结果。我看有些监控录像就是这么干的。
发表于 2009-11-19 20:14:43 | 显示全部楼层
完全没有头绪哇
发表于 2009-11-19 22:00:10 | 显示全部楼层
来看看
发表于 2009-11-24 11:44:21 | 显示全部楼层
天啊 !~ 这个问题到还可以分析出来 答案!~ 但要用AU3来做! 我就有点晕晕的了 !~
发表于 2009-11-24 17:59:16 | 显示全部楼层
4、绿色房子在白色房子左面
这句话的意思???
是紧挨着左边呢,还是左面任何一个地方....?
如果不是紧挨着,似乎答案不唯一啊...
发表于 2009-11-24 20:29:38 | 显示全部楼层
晕晕!
发表于 2009-11-28 13:28:58 | 显示全部楼层
偶不懂哦~~等待高手回复,然后studing...
发表于 2009-12-1 22:39:17 | 显示全部楼层

未完工

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

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

第二道...只写完检测部分 生成答案的递归没来得及写完
;首先 生成5个人 5栋房子

;房子[0国籍][1房子颜色][2饮料][3香烟][4宠物]
Local $house[5][5]

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

;开始生成数组...这里直接提交答案 应该是个答案数组生成...这个还没写...
For $i = 0 To 4
        $house[$i][0] = $c[$i]
        $house[$i][1] = $h[$i]
        $house[$i][2] = $d[$i]
        $house[$i][3] = $s[$i]
        $house[$i][4] = $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][0] == "英国人" Then
                        If $house[$i][1] == "红" Then
                                ExitLoop
                        EndIf
                EndIf
        Next
        ;2、瑞典人养狗
        For $i = 0 To 5
                If $i == 5 Then
                        Return 0
                EndIf
                If $house[$i][0] == "瑞典人" Then
                        If $house[$i][4] == "狗" Then
                                ExitLoop
                        EndIf
                EndIf
        Next
        ;3、丹麦人喝茶
        For $i = 0 To 5
                If $i == 5 Then
                        Return 0
                EndIf
                If $house[$i][0] == "丹麦人" Then
                        If $house[$i][2] == "茶" Then
                                ExitLoop
                        EndIf
                EndIf
        Next
        ;4、绿色房子在白色房子左面
        For $i = 0 To 4
                If $i == 4 Then
                        Return 0
                EndIf
                If $house[$i][1] == "绿" Then
                        If $house[$i+1][1] == "白" Then
                                ExitLoop
                        EndIf
                EndIf
        Next
        ;5、绿色房子主人喝咖啡
        For $i = 0 To 5
                If $i == 5 Then
                        Return 0
                EndIf
                If $house[$i][1] == "绿" Then
                        If $house[$i][2] == "咖啡" Then
                                ExitLoop
                        EndIf
                EndIf
        Next
        ;6、抽Pall Mall 香烟的人养鸟
        For $i = 0 To 5
                If $i == 5 Then
                        Return 0
                EndIf
                If $house[$i][3] == "Pall Mall" Then
                        If $house[$i][4] == "鸟" Then
                                ExitLoop
                        EndIf
                EndIf
        Next
        ;7、黄色房子主人抽Dunhill 香烟
        For $i = 0 To 5
                If $i == 5 Then
                        Return 0
                EndIf
                If $house[$i][3] == "Pall Mall" Then
                        If $house[$i][4] == "鸟" Then
                                ExitLoop
                        EndIf
                EndIf
        Next
        ;8、住在中间房子的人喝牛奶
        If $house[2][2] <> "牛奶" Then
                Return 0
        EndIf
        ;9、 挪威人住第一间房
        If $house[0][0] <> "挪威人" Then
                Return 0
        EndIf
        ;10、抽Blends香烟的人住在养猫的人隔壁
        For $i = 0 To 5
                If $i == 5 Then
                        Return 0
                EndIf
                If $house[$i][3] == "Blends" Then
                        If $i > 0 Then
                                If $house[$i-1][4] == "猫" Then
                                        ExitLoop
                                EndIf
                        EndIf
                        If $i < 0 Then
                                If $house[$i+1][4] == "猫" Then
                                        ExitLoop
                                EndIf
                        EndIf
                EndIf
        Next
        ;11、养马的人住抽Dunhill 香烟的人隔壁
        For $i = 0 To 5
                If $i == 5 Then
                        Return 0
                EndIf
                If $house[$i][4] == "马" Then
                        If $i > 0 Then
                                If $house[$i-1][3] == "Dunhill" Then
                                        ExitLoop
                                EndIf
                        EndIf
                        If $i < 0 Then
                                If $house[$i+1][3] == "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][3] == "Blue Master" Then
                        If $house[$i][2] == "啤酒" Then
                                ExitLoop
                        EndIf
                EndIf
        Next
        ;13、德国人抽Prince香烟
        For $i = 0 To 5
                If $i == 5 Then
                        Return 0
                EndIf
                If $house[$i][0] == "德国人" Then
                        If $house[$i][3] == "Prince" Then
                                ExitLoop
                        EndIf
                EndIf
        Next
        ;14、挪威人住蓝色房子隔壁
        For $i = 0 To 5
                If $i == 5 Then
                        Return 0
                EndIf
                If $house[$i][0] == "挪威人" Then
                        If $i > 0 Then
                                If $house[$i-1][1] == "蓝" Then
                                        ExitLoop
                                EndIf
                        EndIf
                        If $i < 5 Then
                                If $house[$i+1][1] == "蓝" Then
                                        ExitLoop
                                EndIf
                        EndIf
                EndIf
        Next
        ;15、抽Blends香烟的人有一个喝水的邻居
        For $i = 0 To 5
                If $i == 5 Then
                        Return 0
                EndIf
                If $house[$i][3] == "Blends" Then
                        If $i > 0 Then
                                If $house[$i-1][2] == "水" Then
                                        ExitLoop
                                EndIf
                        EndIf
                        If $i < 5 Then
                                If $house[$i+1][2] == "水" Then
                                        ExitLoop
                                EndIf
                        EndIf
                EndIf
        Next
        Return 1
EndFunc
发表于 2009-12-6 11:07:30 | 显示全部楼层
楼上定义的项目好象还缺一个:房子的位置
发表于 2009-12-27 19:23:13 | 显示全部楼层
楼上定义的项目好象还缺一个:房子的位置
hh_wzj 发表于 2009-12-6 11:07

俄 原来有 后来去掉了 用数组的index代替了
发表于 2010-1-6 20:48:42 | 显示全部楼层
回复 12# rolaka


    写的好多啊
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-16 22:33 , Processed in 0.079638 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表