zoukankan      html  css  js  c++  java
  • Follow My Logic 1048 PKU

    Follow My Logic

    http://acm.pku.edu.cn/JudgeOnline/problem?id=1048

    确定由一个或多个输入、0个或多个与或门组成的逻辑电路

    电路路径通过水平线(-45)、垂直线(|124)、联接点(+43)

    A--Z代表输入,?代表输出
    AND门表示:
    :\
    : )
    :/
    OR门表示:
    :\
    : >
    :/
    输入或输出带o表示反
    Solution:

    寻找?位置,然后递归地搜索答案,例如上图,
    栈S1保存为
    ? AND INVERT C INVERT OR A B

    ? AND INVERT OR A B INVERT C
    求ans利用到另外一个栈S2
        B,为输入In(S2,B)
        A,为输入In(S2,A)
        OR 二元操作 temp = Top(S2) OR Top(S2); In(S2,temp)
    INVERT, 一元操作 temp = INVERT(Top(S2))
    C,为输入In(S2,C)
    INVERT, 一元操作 temp = INVERT(Top(S2))
    AND二元操作 temp = Top(S2) AND Top(S2); In(S2,temp)
    ?print (Top(S2)
    Top(S)为读出栈顶S,更换栈顶
    尽管上面分析看似有理,但是忽略了很多情况,例如

    这体现出一个难点:方向的确定
    这个程序发现了个问题,C、GCC貌似不支持按引用传参数

  • 相关阅读:
    vue中插槽的使用场景
    css实现文字两端对齐
    es6 every的使用
    es6 filter方法应用
    es6 map的用法
    spring-servlet.xml
    Spring MVC过滤器HiddenHttpMethodFilter
    controller大全(推荐)
    目前接触到的UI
    jdk环境配置(windows版)
  • 原文地址:https://www.cnblogs.com/eavn/p/1754005.html
Copyright © 2011-2022 走看看