• 洛谷CF784E Twisted Circuit


    (本题本来可能也就普及难度但是硬生生给评成了一道NOI难度的紫题,有点无语。。。)
    这道题目是一道愚人节题目,本来只有下面的电路图,结果翻译完之后难度就直接没了。

    ------------
    言归正传, 说说这个题目吧。
    ####
    抛开题目不谈,我们来复习下这个题目的原理。(与,或, 异或的概念)

    或:

    或(|):若二者均为0则返回0,否则返回1。


    与(&):若二者均为1则返回1,否则返回0。

    异或(^):若二者相等则返回0,不等则返回1。

    ------------

    (~~其实可以直接复制解说的那段公式~~)

    Code

    #include<iostream>
    #include<cstdio>
    using namespace std;
    int main() {
        int a, b, c, d;
        scanf("%d%d%d%d", &a, &b, &c, &d);
        int s1, s2, s3, s4, s5, s6, s7;// s1, s2, s3, s4, s5, s6, s7分别为每一步的结果。 
        if(a == b)
            s1 = 0;
        else
            s1 = 1;
        if(c == 0 && d == 0)
            s2 = 0;
        else 
            s2 = 1;
        if(s1 == 1 && s2 == 1)
            s3 = 1;
        else
            s3 = 0;
            
        if(b == 1 && c == 1)
            s4 = 1;
        else
            s4 = 0;
        if(a == d)
            s5 = 0;
        else
            s5 = 1;
        if(s4 == 0 && s5 == 0)
            s6 = 0;
        else
            s6 = 1;
            
        if(s3 == s6)
            s7 = 0;
        else
            s7 = 1;
        /*直接s7 = ((a ^ b) & (c | d) ) ^ ((b & c)| (a ^ d))应该也行吧*/  
        printf("%d
    ", s7);//输出最后的结果
    
        return 0;
    }

    最后,没有markdown真不习惯
    唯愿,青春不辜负梦想,未来星辰闪耀
  • 相关阅读:
    【LeetCode】链表 linked list(共34题)
    Construct Binary Tree from Preorder and Inorder Traversal<leetcode>
    Triangle <leetcode>
    Jump Game <leetcode>
    C++学习笔记 <const限定词>
    Search for a Range <leetcode>
    Subsets <leetcode>
    各种排序算法总结
    Unique Paths II <leetcode>
    C++学习笔记 <hash_map> <散列映射>
  • 原文地址:https://www.cnblogs.com/Benjamin-cpp/p/10371733.html
Copyright © 2020-2023  润新知