由题意知,有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. window下进程退出后自动重启

    设计思想:编写批处理脚本监控进程的运行状态,如果发现进程停止,则自动重启该进程.批处理脚本(jk.bat)和进程脚本(hello.bat)如下: 1.jk.bat @echo off rem 定义需监 ...

  2. JVM系列(四)之GC调优

    JVM内存参数调优 为什么要GC调优? 或者说的更确切一些,对于基于Java的服务,是否有必要优化GC?应该说,对于所有的基于Java的服务,并不总是需要进行GC优化,但当你的系统时常报了内存溢出或者 ...

  3. Codeforces Round #597 (Div. 2)D(最小生成树)

    /*每个点自己建立一座发电站相当于向超级源点连一条长度为c[i]的边,连电线即为(k[i]+k[j])*两点间曼哈顿距离,跑最小生成树(prim适用于稠密图,kruscal适用于稀疏图)*/ #def ...

  4. Java面向对象的局部变量和成员变量

    package cn.itcast.day06.demo03; /* 局部变量和成员变量 1. 定义的位置不一样[重点] 局部变量:在方法的内部,类的方法内部 成员变量:在方法的外部,直接写在类当中 ...

  5. Codeforces Round #576 (Div. 2) 题解

    比赛链接:https://codeforc.es/contest/1199 A. City Day 题意:给出一个数列,和俩个整数\(x,y\),要求找到序号最靠前的数字\(d\),使得\(d\)满足 ...

  6. [0CTF 2016] piapiapia

    一道非常有意思的反序列化漏洞的题目 花费了我不少时间理解和记忆 这里简单记录其中精髓 首先打开是一个登陆页面 dirsearch扫描到了www.zip源码备份 update.php <?php ...

  7. Linux学习:进入与退出系统

    进入Linux系统:必须要输入用户的账号,在系统安装过程中可以创建以下两种帐号: 1.root--超级用户帐号(系统管理员),使用这个帐号可以在系统中做任何事情. 2.普通用户--这个帐号供普通用户使 ...

  8. zabbix邮件脚本报警

    #启动邮箱服务 systemctl start postfix.service #配置用户的邮箱发送邮件 vim /etc/mail.rc set from="xxx@xxx.com&quo ...

  9. Doc-Compose

    一.安装sudo curl -L https://github.com/docker/compose/releases/download/1.24.1/docker-compose-`uname -s ...

  10. Golang介绍以及安装

    Go语言 Google开源 编译形语言 21世纪的C语言 Go语言的特点 简单易并发 开发效率高 执行性能好 Go语言应用的领域 服务端开发 日志处理 文件系统 监控服务 容器虚拟化 Docker k ...