直接上分析:

首先 弄清各种大写字母的操作的实质

K 明显 是 and   &

A 是 or      |

N 是 not   !

C  由表格注意到 当 w<=x 时 值为1

E  当 w==x 时 值 为1;

弄清了这些就把大写字母当做一个运算符,字符串作为一个前缀表达式来做

#include <iostream>
#include <string>
#include <stack>
#define Det 112
using namespace std;
int val[5];
string st;
stack<int> inte;
int main() {
int len, k, m, x, y;
while (cin >> st) {
if (st[0] == '0') return 0;
for (int n = 0; n <= 31; n++) {
for (int i = 0, p = n; i <= 4; i++, p >>= 1) val[i] = p & 1;
len = st.length();
for (int i = len - 1; i >= 0; i--) {
if (st[i] >= Det) inte.push (val[st[i] - Det]);
else if (st[i] == 'N') {
x = inte.top(); inte.pop();
inte.push (!x);
}
else {
x = inte.top(); inte.pop();
y = inte.top(); inte.pop();
if (st[i] == 'K') x = x & y;
if (st[i] == 'A') x = x | y;
if (st[i] == 'C') x = (x<=y);
if (st[i] == 'E') x = (x ==y);
inte.push (x);
}
}
if (inte.top() == 0) {
cout << "not" << endl;
break;
}
else if (n == 31) cout << "tautology" << endl;
}
}
return 0;
}

http://www.cnblogs.com/keam37/ keam所有 转载请注明出处

POJ3295 Tautology 解题报告的更多相关文章

  1. poj3295 Tautology —— 构造法

    题目链接:http://poj.org/problem?id=3295 题意: 输入由p.q.r.s.t.K.A.N.C.E共10个字母组成的逻辑表达式, 其中p.q.r.s.t的值为1(true)或 ...

  2. 北大ACM试题分类+部分解题报告链接

    转载请注明出处:優YoU http://blog.csdn.net/lyy289065406/article/details/6642573 部分解题报告添加新内容,除了原有的"大致题意&q ...

  3. CH Round #56 - 国庆节欢乐赛解题报告

    最近CH上的比赛很多,在此会全部写出解题报告,与大家交流一下解题方法与技巧. T1 魔幻森林 描述 Cortana来到了一片魔幻森林,这片森林可以被视作一个N*M的矩阵,矩阵中的每个位置上都长着一棵树 ...

  4. 二模13day1解题报告

    二模13day1解题报告 T1.发射站(station) N个发射站,每个发射站有高度hi,发射信号强度vi,每个发射站的信号只会被左和右第一个比他高的收到.现在求收到信号最强的发射站. 我用了时间复 ...

  5. BZOJ 1051 最受欢迎的牛 解题报告

    题目直接摆在这里! 1051: [HAOI2006]受欢迎的牛 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 4438  Solved: 2353[S ...

  6. 习题:codevs 2822 爱在心中 解题报告

    这次的解题报告是有关tarjan算法的一道思维量比较大的题目(真的是原创文章,希望管理员不要再把文章移出首页). 这道题蒟蒻以前做过,但是今天由于要复习tarjan算法,于是就看到codevs分类强联 ...

  7. 习题:codevs 1035 火车停留解题报告

    本蒟蒻又来写解题报告了.这次的题目是codevs 1035 火车停留. 题目大意就是给m个火车的到达时间.停留时间和车载货物的价值,车站有n个车道,而火车停留一次车站就会从车载货物价值中获得1%的利润 ...

  8. 习题: codevs 2492 上帝造题的七分钟2 解题报告

    这道题是受到大犇MagHSK的启发我才得以想出来的,蒟蒻觉得自己的代码跟MagHSK大犇的代码完全比不上,所以这里蒟蒻就套用了MagHSK大犇的代码(大家可以关注下我的博客,友情链接就是大犇MagHS ...

  9. 习题:codevs 1519 过路费 解题报告

    今天拿了这道题目练练手,感觉自己代码能力又增强了不少: 我的思路跟别人可能不一样. 首先我们很容易就能看出,我们需要的边就是最小生成树算法kruskal算法求出来的边,其余的边都可以删掉,于是就有了这 ...

随机推荐

  1. CF949A/950C Zebras

    思路: 贪心乱搞. 实现: #include <bits/stdc++.h> using namespace std; vector<vector<int>> v; ...

  2. android 2.2 preview3 编译bug

    平台 as2.2 preview3;   1. 解决方法: 在project.buildgradle 里面设置 // Top-level build file where you can add co ...

  3. zabbix监控之grafana

    zabbix监控之grafana

  4. swift不同地方 命名空间module iOS

    Objective-C没有命名空间,为了避免冲突,Objective-C的类型一般都会加上两到三个字母的前缀,比如Apple保留的NS和UI前缀,各个系统框架的前缀,各个系统框架的前缀SK(Store ...

  5. js 脚本语言

    字符串转换为数字 parseInt(string) .parseFloat().Number() 参考博客:https://zhidao.baidu.com/question/629898532158 ...

  6. oracle优化器使用(oracle11g)

    一:优化器介绍 优化器(optimizer)是oracle数据库内置的一个核心子系统.优化器的目的是按照一定的判断原则来得到它认为的目标SQL在当前的情形下的最高效的执行路径,也就是为了得到目标SQL ...

  7. zabbix4.2学习笔记--新建用户组和用户

    新建用户组 zabbix中管理机器是以用户组划分,这里新建一个只读用户群组和只读用户 新建用户组 点击 管理-用户组-创建用户群组,如下图 点击创建之后,有三列设置,分别是用户群组.权限和标签过滤器, ...

  8. JavaSE-10 多态

    学习要点 多态的优势和应用场合 父类和子类之间的类型转换 instanceof运算符的使用 父类作为方法形参实现多态 父类作为返回值实现多态 使用多态的原因 需求描述: 在宠物管理系统中,宠物饿了,需 ...

  9. 子例程 subroutine

    #! /usr/bin/perluse strict;use warnings;print "\n---------summation_STDIN_parameter----------\n ...

  10. jQuery任意标签锚点跳转插件

    // 任意锚点平滑跳转插件// 2010-07-15 v1.0(function($){ $.fn.zxxAnchor = function(options){ var defaults = { ie ...