poj3295Tautology
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的更多相关文章
随机推荐
- iOS开发如何实现消息推送机制
一.关于推送通知 推送通知,也被叫做远程通知,是在iOS 3.0以后被引入的功能.是当程序没有启动或不在前台运行时,告诉用户有新消息的一种途径,是从外部服务器发送到应用程序上的.一般说来,当要显示消息 ...
- SQL Server 2008 R2评估期已过的解决办法
SQL Server 2008 R2评估期已过的解决办法 发现问题 北美产品测试服每日随机任务没有刷新 每日随机任务是使用数据库作业定期执行操作,重置玩家随机任务项 排查问题 www.2cto. ...
- eclipse下使用API操作HDFS
1)使用eclipse,在HDFS上创建新目录 import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.Fil ...
- Cortex-M3/4的Hard Fault调试方法
1 Cortex-M3/4的Fault简介 Cortex-M3/4的Fault异常是由于非法的存储器访问(比如访问0地址.写只读存储位置等)和非法的程序行为(比如除以0等)等造成的.常见的4种异常及产 ...
- 7 天玩转 ASP.NET MVC — 第 4 天
目录 第 1 天 第 2 天 第 3 天 第 4 天 第 5 天 第 6 天 第 7 天 0. 前言 欢迎来到第四天的 MVC 系列学习中.如果你直接开始学习今天的课程,我强烈建议你先完成之前的学习内 ...
- Python下载Yahoo!Finance数据
Python下载Yahoo!Finance数据的三种工具: (1)yahoo-finance package. (2)ystockquote. (3)pandas.
- iScroll.js 用法参考
本文原文链接:http://www.cnblogs.com/duanhuajian/archive/2013/04/08/3008323.html 概要 iScroll 4 这个版本完全重写了iScr ...
- LINUX输入输出与文件——续
1 目录操作 改变目录或文件的访问权限 #include <sys/stat.h> int chmod(const char *path, mode_t mode); //mode形如07 ...
- Tomcat目录结构
首先来了解一下Tomcat5.5的目录结构: /bin:存放windows或Linux平台上启动和关闭Tomcat的脚本文件 /conf:存放Tomcat服务器的各种全局配置文件,其中包括server ...
- php脚本的执行过程(编译与执行相分离)
php脚本的执行过程(编译与执行相分离) 深入理解PHP代码的执行的过程 PHP程序的执行流程 Apache + PHP 的并发访问