由题意知,有5种操作,5个未知数,可0可1,一串操作问是否恒为1,最多100个字符,直接栈模拟所有情况即可

代码如下:

int p, q, r, s, t;

bool calculate(string ind) {
int length = ind.size();
stack<int> buf;
for (int i = length - 1; i >= 0;--i) {
char tmp = ind[i];
if(tmp == 'p')
buf.push(p);
else if(tmp == 'q')
buf.push(q);
else if(tmp == 'r')
buf.push(r);
else if(tmp == 's')
buf.push(s);
else if(tmp == 't')
buf.push(t);
else if(tmp == 'K') {
int val1, val2;
val1 = buf.top(), buf.pop();
val2 = buf.top(), buf.pop();
buf.push(val1 & val2);
}
else if(tmp == 'A') {
int val1, val2;
val1 = buf.top(), buf.pop();
val2 = buf.top(), buf.pop();
buf.push(val1 || val2);
}
else if(tmp == 'N') {
int val = buf.top();
buf.pop();
buf.push(!val);
}
else if(tmp == 'C') {
int val1, val2;
val1 = buf.top(), buf.pop();
val2 = buf.top(), buf.pop();
buf.push(!val1 || val2);
}
else if(tmp == 'E') {
int val1, val2;
val1 = buf.top(), buf.pop();
val2 = buf.top(), buf.pop();
buf.push(val1 == val2);
}
} return buf.top();
} int main() {
string str;
while(cin >> str && str != "0") {
bool flag = true;
for (p = 0; p < 2;++p)
{
for (q = 0; q < 2;++q) {
for (r = 0; r < 2;++r) {
for (s = 0; s < 2;++s) {
for (t = 0; t < 2;++t) {
if(!calculate(str)) {
flag = false;
break;
}
}
if(!flag)break;
}
if(!flag)break;
}
if(!flag)break;
}
if(!flag)break;
}
if(flag)
printf("tautology\n");
else
printf("not\n");
}
return 0;
}
 

Day1-A-POJ-3295的更多相关文章

  1. poj 3295 Tautology (构造)

    题目:http://poj.org/problem?id=3295 题意:p,q,r,s,t,是五个二进制数. K,A,N,C,E,是五个运算符. K:&& A:||N:! C:(!w ...

  2. poj 3295 Tautology(栈)

    题目链接:http://poj.org/problem?id=3295 思路分析:判断逻辑表达式是否为永真式问题.根据该表达式的特点,逻辑词在逻辑变量前,类似于后缀表达式求值问题. 算法中使用两个栈, ...

  3. POJ 3295 Tautology(构造法)

    http://poj.org/problem?id=3295 题意: 判断表达式是否为永真式. 思路: 把每种情况都枚举一下. #include<iostream> #include< ...

  4. poj 3295 Tautology 伪递归

    题目链接: http://poj.org/problem?id=3295 题目描述: 给一个字符串,字符串所表示的表达式中p, q, r, s, t表示变量,取值可以为1或0.K, A, N, C, ...

  5. POJ 3295 Tautology(构造法)

    题目网址:http://poj.org/problem?id=3295 题目: Tautology Time Limit: 1000MS   Memory Limit: 65536K Total Su ...

  6. 构造 + 离散数学、重言式 - POJ 3295 Tautology

    Tautology Description WFF 'N PROOF is a logic game played with dice. Each die has six faces represen ...

  7. POJ 3295 Tautology (构造题)

    字母:K, A, N, C, E 表示逻辑运算 字母:p, q, r, s, t 表示逻辑变量 0 或 1 给一个字符串代表逻辑表达式,如果是永真式输出tautology 否则输出not 枚举每个逻辑 ...

  8. poj 3295 Tautology

    点击打开链接 Tautology Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 8127   Accepted: 3115 ...

  9. POJ 3295 Tautology 构造 难度:1

    Tautology Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 9580   Accepted: 3640 Descrip ...

  10. POJ 3295 Tautology (构造法)

    Tautology Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 7716   Accepted: 2935 Descrip ...

随机推荐

  1. 喵星之旅-狂奔的兔子-myeclipse搭建ssm

    . 可以使用试用期限内的myeclipse,也可以找到有授权的机器进行操作.搭建好的项目框架可以直接移植到免费软件eclipse使用.或者直接购买myeclipse授权. 一.创建一个java web ...

  2. Ant安装及环境配置

    首先说一下啥事ant 所以装ant的前提是得装java 点击查看怎么安装JDK 然后安装ant,其实挺简单的 官网下载http://ant.apache.org 所有版本https://www.apa ...

  3. [转]工作量证明(PoW)权益证明(PoS)和委任权益证明(DPoS)区别

    原文链接 Both in the glossary and in some of our previous posts we've touched on mining and the two main ...

  4. A Simple Problem with Integers(树状数组区间变化和区间求和)

    You have N integers, A1, A2, ... , AN. You need to deal with two kinds of operations. One type of op ...

  5. dom4j+反射实现bean与xml的相互转换

    由于目前在工作中一直用的dom4j+反射实现bean与xml的相互转换,记录一下,如果有不正确的地方欢迎大家指正~~~ 一.反射机制 在此工具类中使用到了反射技术,所以提前也看了一些知识点,例如:ht ...

  6. python序列化及其相关模块(json,pickle,shelve,xml)详解

    什么是序列化对象? 我们把对象(变量)从内存中编程可存储或传输的过程称之为序列化,在python中称为pickle,其他语言称之为serialization ,marshalling ,flatter ...

  7. webpack中使用babel

    step one: https://babeljs.io/setup Choose your tool (try CLI) select webpack Step two: npm install - ...

  8. Python NumPy中数组array.min(0)返回数组

    如果没有参数min()返回一个标量,如果有参数0表示沿着列,1表示沿着行.

  9. 部署java的spring boot项目(代码外包提供)

    部署java后台的spring boot 人脸识别系统的项目 基础环境准备: 硬件:内存4g  cpu 4核  硬盘200g  虚拟机 软件:CentOS 7.6  mysql 5.7.26  jdk ...

  10. vue-cli项目结构详解

    vue-cli的webpack模板项目配置文件分析 https://blog.csdn.net/hongchh/article/details/55113751/ 由于最近在vue-cli生成的web ...