请教大家一个算法问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
frozenshadow
V2EX    程序员

请教大家一个算法问题

  •  
  • &nsp; frozenshadow 2015-09-24 12:39:28 +08:00 3471 次点击
    这是一个创建于 3679 天前的主题,其中的信息可能已经有所发展或是发生改变。

    现有 A B C D 四人,这四人的话有真有假。

    条件会给出这四人中有几真几假。


    例如:四人中三真一假

    A: B 说的是假话

    B: A 的话不可信

    C :如果 A 在骗你,那么 C 也在骗你

    D : C 说的对

    推理得出 B 在说假话

    小弟想请教下这类算法是什么算法(算法渣,没有关键词搜不出靠谱的东西)

    或者那位大神指教一下,谢谢~

    17 条回复    2015-09-25 12:25:56 +08:00
    frozenshadow
        1
    frozenshadow  
    OP
       2015-09-24 13:00:26 +08:00
    能不能先假设 A 为真,然后得出 A 为真时四人中几真几假。然后假设 B 为真时,四人中几真几假……最后再和已知条件进行对比?? ps.为什么感觉这么做好蠢啊。。。
    aheadlead
        2
    aheadlead  
       2015-09-24 13:03:44 +08:00   1
    枚举验证就好了
    ninechapter
        3
    ninechapter  
       2015-09-24 13:06:37 +08:00
    逻辑正则表达式判断, 无需使用算法知识,想快速提高算法,可以来上我们的免费算法公开课: http://www.jiuzhang.com/course/1/
    theJian
        4
    theJian  
       2015-09-24 13:15:41 +08:00   1
    离散数学有讲
    frozenshadow
        5
    frozenshadow  
    OP
       2015-09-24 13:18:03 +08:00
    @aheadlead 感谢回复。枚举就是 1L 的方式吧~~
    frozenshadow
        6
    frozenshadow  
    OP
       2015-09-24 13:19:21 +08:00
    @ninechapter 发小广告的时候来点干货么~~~就是再给点提示 -_-
    aheadlead
        7
    aheadlead  
       2015-09-24 13:20:09 +08:00   1
    frozenshadow
        8
    frozenshadow  
    OP
       2015-09-24 13:20:38 +08:00
    @theJian 虽然也是计算机系。。但是并没有上这课……我去看看,能稍微再给点提示么,谢谢
    ChiangDi
        9
    ChiangDi  
       2015-09-24 13:21:22 +08:00   1
    找本离散数学的书来看,这种只有四个的还是小意思啊
    frozenshadow
        10
    frozenshadow  
    OP
       2015-09-24 13:24:10 +08:00
    @ChiangDi 好的,我去看看。谢谢
    frozenshadow
        11
    frozenshadow  
    OP
       2015-09-24 13:34:36 +08:00
    @aheadlead 感谢。^_^
    lijsf
        12
    lijsf  
       2015-09-24 14:06:46 +08:00
    这个是离散数学中内容,关于命题那一章的,有关于逻辑表达式的化简,命题演算等。离散数学中有这方面的习题。答题思路就是每一个人的描述都是一个命题,从而形式化,再去化简这个逻辑表达式,得到结果。
    minilyn
        13
    minilyn  
       2015-09-24 14:12:18 +08:00
    输入数据不大的话可以根据已给出的几真几假条件排列组合一下遍历得出正确解。如果输入规模足够大的话可能就需要用离散的知识解了。
    dd99iii
        14
    dd99iii  
       2015-09-24 15:52:33 +08:00
    三真一假,四种情况
    hxndg
        15
    hxndg  
       2015-09-24 17:14:32 +08:00
    A:^B
    B:^A
    C:^A->^C
    D:C
    iverson68214
        16
    iverson68214  
       2015-09-24 17:32:51 +08:00
    a, b, c, d = False, False, False, False
    a, b = False, False # A: B 说的是假话
    b = True if a == False else False # B: A 的话不可信
    c = False if a == False else True # C :如果 A 在骗你,那么 C 也在骗你
    d = True if c == True else False # D : C 说的对
    print a, b, c, d
    frozenshadow
        17
    frozenshadow  
    OP
       2015-09-25 12:25:56 +08:00
    @lijsf
    @minilyn
    @dd99iii
    @hxndg
    @iverson68214

    感谢指教~~~昨天干活去了,才上来看到 ,我去学习学习~
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2300 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 16:01 PVG 00:01 LAX 09:01 JFK 12:01
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86