http://poj.org/problem?id=3295

这几天补一补poj之前落下的题吧

枚举

 #include <iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<stdlib.h>
#include<cmath>
using namespace std;
char s[],ko[];
int f[],ta[],ff[],p[];
int main()
{
int i,j,k;
ko['p'] = ;
ko['q'] = ;
ko['r'] = ;
ko['s'] = ;
ko['t'] = ;
while(gets(s)!=NULL)
{
if(s[]=='')
break;
int flag = ,g=,e=;
memset(ff,,sizeof(ff));
k = strlen(s);
for(i = ; i < k ;i++)
{
if(ko[s[i]]&&!ff[ko[s[i]]])
{
ff[ko[s[i]]] = ;
p[e++] = ko[s[i]];
}
}
for(i = ; i < (<<e) ; i++)
{
memset(f,,sizeof(f));g=;
for(j = ; j < e ; j++)
{
if(i&(<<j))
{
f[p[j]] = ;
}
}
for(j = k-; j>= ; j--)
{
if(s[j]>='A'&&s[j]<='Z')
{
if(s[j]=='K')
{
if(ta[g]==&&ta[g-]==)
ta[g-] = ;
else
ta[g-] = ;
g--;
}
else if(s[j]=='N')
{
if(ta[g])
ta[g] = ;
else ta[g] = ;
}
else if(s[j]=='A')
{
if(ta[g]==&&ta[g-]==)
ta[g-] = ;
else
ta[g-] = ;
g--;
}
else if(s[j]=='C')
{
if(ta[g]==&&ta[g-]==)
ta[g-] = ;
else ta[g-] = ;
g--;
}
else
{
if(ta[g]==ta[g-])
ta[g-] = ;
else
ta[g-] = ;
g--;
}
}
else
{
ta[++g] = f[ko[s[j]]];
}
}
if(!ta[g])
{
flag = ;
break;
}
}
if(!flag)
puts("tautology");
else
puts("not");
}
return ;
}

poj3295Tautology的更多相关文章

随机推荐

  1. JQuery表单验证插件EasyValidator,超级简单易用!

    本插件的宗旨是:用户无需写一行JS验证代码,只需在要验证的表单中加入相应的验证属性即可,让验证功能易维护,可扩展,更容易上手. DEMO中已经包含了常用的正则表达式,可以直接复用,为了考虑扩展性,所以 ...

  2. 理解Session的几种模式

    一.写在前面 我们在使用ASP.NET开发的过程中,有时会进行数据存储以实现请求前后的状态保持(HTTP是无状态保持的协议),而Session作为一种快速简单易于实现的方式被我们经常使用,当然如果出于 ...

  3. Assetbundle的杂七杂八

    使用Assetbundle时可能遇到的坑 一 24 十一郎未分类 No Comments 转自 http://www.unitymanual.com/blog-3571-132.html 1.Edit ...

  4. PHP命名空间(Namespace)

    http://www.jb51.net/article/36389.htm 字符串形式的动态调用方式 //魔法常量__NAMESPACE__的值是当前空间名称 //可以组合成字符串并调用 $comme ...

  5. POJ 1947 Rebuilding Roads(树形DP)

    题目链接 题意 : 给你一棵树,问你至少断掉几条边能够得到有p个点的子树. 思路 : dp[i][j]代表的是以i为根的子树有j个节点.dp[u][i] = dp[u][j]+dp[son][i-j] ...

  6. Android 中建立一个OpenGL ES的开发环境

    转自: http://wiki.eoe.cn/page/Building_an_OpenGL_ES_Environment.html 负责人:zhangql原文链接:http://docs.eoean ...

  7. ECharts案例教程1

    原文:http://blog.csdn.net/whqet/article/details/42703973 简介 ECharts,缩写来自Enterprise Charts,商业级数据图表,是百度的 ...

  8. C++名字空间/C++命名空间

    0.序言 名字空间是C++提供的一种解决符号名字冲突的方法. 一个命令空间是一个作用域,在不同名字空间中命名相同的符号代表不同的实体. 通常,利用定义名字空间的办法,可以使模块划分更加方便,减少模块间 ...

  9. JavaWeb项目开发案例精粹-第4章博客网站系统-005action层

    1. package com.sanqing.action; import java.util.Date; import java.util.Map; import com.opensymphony. ...

  10. HtmlAgilityPackage XPath学习

    最近的开发中要用到htmlAgilityPackage, 所以记录一下XPath相关知识! XPath 简介 XPath 是一门在 XML 文档中查找信息的语言.XPath 可用来在 XML 文档中对 ...