题意

这题题意比较难理解
pqrst是五个逻辑变量,只有两种情况0或1
KANCE是五种运算:
K: t1=t2=1, 结果为1
A: t1=t2=0, 结果为1
N: t1=0, 结果为1
C: ! t1=t2=0, 结果为1
E: t1=t2, 结果为1
问是否有可能无论pqrst如何取值,表达式永远为真

思路

因为只有5个数pqrst,所以可以枚举出来每个数的情况(0或1),只有pow(2,5)=32种。
然后对于每个确定pqrst值的情况判段表达式是否成立,用栈来实现,
对表达式从后往前运算。因为前面的计算的都是后面的值的,所以先算后面的。

代码

#include<stdio.h>
#include<string.h>
#include<algorithm>
#define N 110
char a[N];
int S[N];
int p,q,r,s,t;
void fore()
{int k=0,t1,t2;int l=strlen(a);for(int i=l-1;i>=0;i--){if(a[i]=='p') S[k++]=p;else if(a[i]=='q') S[k++]=q;else if(a[i]=='r') S[k++]=r;else if(a[i]=='s') S[k++]=s;else if(a[i]=='t') S[k++]=t;else if(a[i]=='K'){t1=S[--k];t2=S[--k];S[k++]=(t1&&t2);}else if(a[i]=='A'){t1=S[--k];t2=S[--k];S[k++]=(t1||t2);}else if(a[i]=='N'){t1=S[--k];S[k++]=(!t1);}else if(a[i]=='C'){t1=S[--k];t2=S[--k];if(t1==1&&t2==0) S[k++]=0;else S[k++]=1;}else if(a[i]=='E'){t1=S[--k];t2=S[--k];if(t1==t2) S[k++]=1;else S[k++]=0;}}
}
bool slove()
{for(p=0; p<=1; p++)for(q=0; q<=1; q++)for(r=0; r<=1; r++)for(s=0; s<=1; s++)for(t=0; t<=1; t++){fore();if(!S[0]) return 0;}return 1;
}
int main()
{while(gets(a)&&a[0]!='0'){if(slove())printf("tautology\n");elseprintf("not\n");}return 0;
}

Tautology(暴力,永真式)相关推荐

  1. E - Tautology(永真式)

    题目描述 WFF 'N PROOF is a logic game played with dice. Each die has six faces representing some subset ...

  2. POJ 3295: Tautology 递归的永真式

    原题链接:Tautology 题目大意:p.q.r.s.t是逻辑变量,K.A.N.C.E是逻辑操作,相应的真值表已经给出.要求给定一个逻辑表达式,判断其是否为永真式,即无论其中的逻辑变量取值如何,其结 ...

  3. 【数理逻辑】谓词逻辑 ( 判断一阶谓词逻辑公式真假 | 解释 | 示例 | 谓词逻辑公式类型 | 永真式 | 永假式 | 可满足式 | 等值式 )

    文章目录 一. 判断谓词逻辑公式真假 ( 语义 ) 二. 谓词逻辑 "解释" 三. 谓词逻辑 "解释" 示例 四. 谓词逻辑公式类型 一. 判断谓词逻辑公式真假 ...

  4. 【数理逻辑】命题逻辑 ( 命题逻辑推理正确性判定 | 形式结构是永真式 - 等值演算 | 从前提推演结论 - 逻辑推理 )

    文章目录 一. 命题逻辑推理正确性判定 二. 形式结构是永真式 ( 等值演算 ) 三. 从前提推演结论 ( 逻辑推理 ) 一. 命题逻辑推理正确性判定 命题推理 , 根据 前提 , 推理出 结论 ; ...

  5. strlen“好神奇”,永真式——if(strlen(q) - strlen(p) = 0)

    今天突然发现神奇的一幕 这个if中居然是个永真式 怎么可能 char *p = "aaaaaaaa";char *q = "ssss";int x = strl ...

  6. pvq真值表_不用真值表证明(p-q)且(q-r)-(p-r)是永真式

    满意答案 xyb830529 2013.09.03 采纳率:58%    等级:12 已帮助:5867人 展开全部 列一个真值表: p q r s 式子 1 0 0 0 -- 共2^4=16项,如果都 ...

  7. hibernate自动添加永真1=1,导致Druid sql防火墙报错的问题

    2019独角兽企业重金招聘Python工程师标准>>> 原文及更多文章请见个人博客:http://heartlifes.com 最近工程突然报错: java.sql.SQLExcep ...

  8. mysql 永真_sql注入

    Sql注入 Sql注入成因: 1)转义字符处理不当(如',--,/**/,会截断原有的语句,执行新语句): 2)类型处理不当(如接受的是整型的参数,并没有校验也可以接受字符型数据) 3)查询语句的组装 ...

  9. python永真循环_《Python语言程序设计》 —2.5.5 continue

    2.5.5 continue continue语句用于结束本次循环并开始下一次循环.与break类似,对于多重循环情况,continue语句作用于它所在的最近的那重循环.例如,对于代码清单2-25,其 ...

  10. python永真循环_python永真循环_Python学习(一)

    一.Python中的变量定义 与JAVA类似 1.由字母数字下划线构成 2.首字母不能为数字 3.不用关键字 二.常量 全部由大写字母构成,不更改它,实际上可更改 三.注释 单行注释:# 多行注释:三 ...

最新文章

  1. 你必须尝试的20个 Python 库
  2. 参观中央财经大学机房安装centos6.4及优化小结
  3. docker查看容器ip地址
  4. 玩转 SpringBoot 2 快速搭建 | IntellJ IDEA篇
  5. socket编程 TCP 粘包和半包 的问题及解决办法
  6. thinkphp的find()方法获取结果
  7. 科沃斯扫地机器人电路原理图_科沃斯扫地机器人不工作故障维修(CEN550)
  8. (第3章)Docker核心原理解读
  9. 常见搜索引擎蜘蛛大全
  10. java一元抢购,拼多多1元抢购的步骤是什么?
  11. 苹果基带坏了怎么办_「手机维修自学教程」苹果手机的基带逻辑码片读取技巧 保资料搬板...
  12. OI-wiki 算法基础 模拟 NOIP2014 生活大爆炸版石头剪刀布 python
  13. 用ln命令链接文件 --- 一根绳子上的蚂蚱?
  14. Windows11系统下Edge如何兼容IE浏览器
  15. python实现中撤销上一步的代码mac_苹果电脑command+z撤销后如何恢复撤销前的上一步?...
  16. 强化学习相关论文阅读笔记之稀疏奖励解决方法
  17. 接口返回值转成json
  18. 大学计算机考试五月份报名,2021年5月全国计算机等级考试报名时间
  19. 新手练习2:人物模型多边形建模流程图解
  20. Java实现windows,linux服务器word,excel转为PDF;aspose-words,Documents4j

热门文章

  1. 烘培赛道的2021:资本重押下,老字号向左,新秀向右?
  2. 1371: 三位数求解
  3. 站内SEO第三篇:降低网站跳出率的7种有效方法
  4. OM302工业DTU对接亚控kingscada,实现水泵站一体化智慧改革
  5. 小企业怎样选择服务器和操作系统
  6. 大学生就业的三方协议基本概述
  7. DTL autoescape
  8. Mac-记录一些超好用的快捷键
  9. 《遥远的救世主》遵守客观规律(三)——文化属性
  10. Javaweb中上传图片,获取路径