博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
poj 3295 Tautology
阅读量:5344 次
发布时间:2019-06-15

本文共 1196 字,大约阅读时间需要 3 分钟。

代码:

#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;#define LL long long#define sint short intconst int INF=0x3f3f3f3f;//priority_queue
,greater
>qt;bool a[7];bool ans;string s;bool K(char k,bool t1){ return (!t1);}bool K(char k,bool t1,bool t2){ if(k=='K') return (t1&&t2); if(k=='A') return (t1||t2); if(k=='C') return ((!t1)||t2); if(k=='E') return (t1==t2); return true;}void test(){ stack
st; for(int i=s.length()-1;i>=0;--i) { if(s[i]<='t'&&s[i]>='p') st.push(a[s[i]-'p']); else { bool tmp1,tmp2; if(s[i]=='N') { tmp1=st.top();st.pop(); st.push(K(s[i],tmp1)); }else { tmp1=st.top();st.pop(); tmp2=st.top();st.pop(); st.push(K(s[i],tmp1,tmp2)); } } } if(st.top()==false) ans=st.top();}void dfs(int x){ if(x==5) {test();return ;} a[x]=true; dfs(x+1); a[x]=false; dfs(x+1); if(ans==false) return ;}int main(){ //freopen("data.in","r",stdin); while(cin>>s) { if(s=="0") break; ans=true; dfs(0); if(ans) cout<<"tautology"<

  

转载于:https://www.cnblogs.com/liulangye/archive/2012/12/05/2803596.html

你可能感兴趣的文章
泛型子类_属性类型_重写方法类型
查看>>
对闭包的理解
查看>>
练习10-1 使用递归函数计算1到n之和(10 分
查看>>
Oracle MySQL yaSSL 不明细节缓冲区溢出漏洞2
查看>>
windows编程ASCII问题
查看>>
.net webService代理类
查看>>
Code Snippet
查看>>
Node.js Express项目搭建
查看>>
zoj 1232 Adventure of Super Mario
查看>>
1201 网页基础--JavaScript(DOM)
查看>>
组合数学 UVa 11538 Chess Queen
查看>>
oracle job
查看>>
Redis常用命令
查看>>
XML学习笔记(二)-- DTD格式规范
查看>>
[转载]电脑小绝技
查看>>
windos系统定时执行批处理文件(bat文件)
查看>>
thinkphp如何实现伪静态
查看>>
BZOJ 2243: [SDOI2011]染色( 树链剖分 )
查看>>
BZOJ 1925: [Sdoi2010]地精部落( dp )
查看>>
c++中的string常用函数用法总结!
查看>>