栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

poj 3295 Tautology

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

poj 3295 Tautology

#include <iostream>#include <cstring>#include <cstdio>#include <cstdlib>#include <stack>using namespace std;const int maxn = 10000 + 10;stack<bool> S;char s[maxn];bool hash[200], ans;void check(char pos) {    if(s[pos] == 'N') {        bool x = S.top(); S.pop();        S.push(!x);    } else if(s[pos] >= 'p' && s[pos] <= 't') {        S.push(hash[s[pos]]);    } else {        bool x, y;        x = S.top(); S.pop();        y = S.top(); S.pop();        if(s[pos] == 'K') S.push(x&y);        else if(s[pos] == 'A') S.push(x|y);        else if(s[pos] == 'C') S.push(!x | y); //即蕴含        else if(s[pos] == 'E') S.push(!(x^y));    }}int main() {    while(scanf("%s", s) == 1) {        if(s[0] == '0') break;        ans = true;        int i;        for(i=0; i<(1<<5); i++) { hash['p'] = i & 1; hash['q'] = i & (1<<1); hash['r'] = i & (1<<2); hash['s'] = i & (1<<3); hash['t'] = i & (1<<4); int pos = strlen(s)-1; while(pos >= 0) {     check(pos);     pos--; } ans = S.top(); S.pop(); if(ans == false) { printf("notn"); break; }        }        if(i >= (1<<5)) printf("tautologyn");    }    return 0;}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/375265.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号