洛谷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\n", s7);//输出最后的结果

    return 0;
}

最后,没有markdown真不习惯
复制代码

 

posted @   Mystery_Sky  阅读(127)  评论(0编辑  收藏  举报
编辑推荐:
· ASP.NET Core 模型验证消息的本地化新姿势
· 对象命名为何需要避免'-er'和'-or'后缀
· SQL Server如何跟踪自动统计信息更新?
· AI与.NET技术实操系列:使用Catalyst进行自然语言处理
· 分享一个我遇到过的“量子力学”级别的BUG。
阅读排行:
· dotnet 源代码生成器分析器入门
· 官方的 MCP C# SDK:csharp-sdk
· 从零开始:基于 PyTorch 的图像分类模型
· [WPF] 在RichTextBox中输出Microsoft.Extension.Logging库的
· 一步一步教你部署ktransformers,大内存单显卡用上Deepseek-R1
点击右上角即可分享
微信分享提示