hdu 5077 NAND(暴力打表)

hdu 5077 NAND(暴力打表)

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

题目链接:hdu 5077 NAND

题目大意:Xiaoqiang要写一个编码程序,然后依据x1,x2,x3的值构造出8个字符。如今给定要求生成的8个字符。问

说Xiaoqiang最少要写多少行代码。代码内容仅仅能为NAND操作和return操作,操作的变量能够是常数。

解题思路:输入总共就256中情况,所以暴力剪枝打表,打表的代码手贱给删了。。。所以就将一下思路。开一个s数组

表示变量,然后相应每一层每次两个变量进行NAND操作。

大致三个剪枝,dfs时候,变量出现同样就跳过。8个字符能够直接依据数的位运算计算;单前层出现同样的跳过。

#include <cstdio>
#include <cstring>
#include <algorithm>

using namespace std;

const int ans[300] = {1, 5, 6, 3, 6, 3, 7, 4, 7, 8, 4, 5, 4, 5, 4, 1, 6, 3, 7, 4, 7, 4, 9, 7, 8, 8, 7, 5, 7, 5, 7, 4, 7, 8, 4, 5, 8, 8, 7, 5, 8, 9, 5, 6, 8, 8, 5, 5, 4, 5, 4, 1, 7, 5, 7, 4, 8, 8, 5, 5, 5, 7, 6, 4, 7, 8, 8, 8, 4, 5, 7, 5, 8, 9, 8, 8, 5, 6, 5, 5, 4, 5, 7, 5, 4, 1, 7, 4, 8, 8, 5, 7, 5, 5, 6, 4, 8, 9, 8, 8, 8, 8, 5, 7, 11, 9, 8, 9, 8, 9, 8, 8, 5, 6, 5, 5, 5, 5, 6, 4, 8, 9, 8, 8, 8, 8, 8, 7, 8, 9, 9, 9, 9, 9, 10, 9, 5, 7, 6, 6, 6, 6, 7, 6, 9, 9, 10, 9, 10, 9, 10, 10, 7, 6, 7, 7, 7, 7, 9, 7, 5, 7, 6, 6, 7, 6, 7, 7, 5, 6, 2, 3, 6, 6, 4, 3, 6, 6, 7, 6, 7, 7, 9, 7, 6, 6, 4, 3, 7, 7, 7, 6, 5, 7, 7, 6, 6, 6, 7, 7, 5, 6, 6, 6, 2, 3, 4, 3, 6, 6, 7, 7, 7, 6, 9, 7, 6, 6, 7, 7, 4, 3, 7, 6, 5, 6, 6, 6, 6, 6, 7, 7, 8, 9, 5, 6, 5, 6, 2, 5, 2, 3, 4, 3, 4, 3, 7, 6, 5, 6, 2, 5, 2, 5, 4, 1};

int main () {
    int cas;
    char p[10];
    scanf("%d", &cas);
    while (cas--) {
        scanf("%s", p);
        int ret = 0;
        for (int i = 0; i < 8; i++)
            ret = ret * 2 + p[i] - '0';
        printf("%d\n", ans[ret]);
    }

    return 0;
}

版权声明:本文博主原创文章。博客,未经同意不得转载。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/116988.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • swing 事件处理机制

    swing 事件处理机制

    2021年8月31日
    66
  • 【转载】来自 GitHub 的系列渗透测试工具

    【转载】来自 GitHub 的系列渗透测试工具51CTO2019-04-03渗透测试Kali-GNU/Linux发行版,专为数字取证和渗透测试而设计。(https://www.kali.org/)ArchStrike-为安全专业人士和爱好者提供ArchGNU/Linux存储库。(https://archstrike.org/)BlackArch-基于GNU/Linux的分布式渗透测试…

    2022年5月22日
    39
  • linux 命令:ping、fping、gping、hping3、tracert、traceroute

    linux 命令:ping、fping、gping、hping3、tracert、traceroutehping3命令:http://man.linuxde.net/hping3TestingfirewallruleswithHping3-examples:http://0daysecurity.com/articles/hping3_examples.html攻防宝典:利用hping3和伪造IP地址执行DOS攻击:http://netsecurity.51cto.com/…

    2022年7月12日
    46
  • TD—SCDMA_移动TD

    TD—SCDMA_移动TD
    GSM
     globalsystemformobilecommunications全球移动通信系统
     第二代移动电话系统。
         GSM是GlobalSystemofMobilecommunication全球移动通讯系统的英文缩写,是当前应用最为广泛的移动电话标准。全球超过200个国家和地区超过10亿人正在使用GSM电话。所有用户可以在签署了”漫游协定”移动电话运营商之间自由漫游。GSM较之它以前的标准最大的不同是他的信令和语音信道都是数

    2022年10月4日
    4
  • import java.util.scanner是什么意思

    import java.util.scanner是什么意思java中的importjava.util.scanner;是一个类,可以用这个类来从控制台写入数据(可以是int,string等类型)例如:​importjava.util.scanner;publicclassdemo{publicstaticvoidmain(string[]wqs){stringmystr=””;system.out.print(“请你输入字符,按回车结束”);scanner

    2022年7月20日
    15
  • windows10 记事本进程 键盘消息钩子 dll注入

    windows10 记事本进程 键盘消息钩子 dll注入看了很多文档,垮了很多坎,终于完成了这个demo;有很多个人理解,可能不完全正确,见谅;先上实现的图片:如图,我通过SetWindowsHookEx()函数向记事本进程中当前窗口线程注入了自己写的dll,dll中设置的回调函数使,当键盘按了1,那么就会触发一个MessageBox。工具:VS2015,PCHunter(用于查看是否成功注入了dll,其实看能否实现功能就信…

    2022年7月26日
    15

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号