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的更多相关文章
随机推荐
- fbx 模型转换 export
最近在做自定义类型到fbx的转换 有关polygon的理解 vertex,normal,color等信息,是离散的放置的,对fbx里面的mesh加了控制点(vertex)信息之后, 需要再设置poly ...
- Android 4.4 KitKat, the browser and the Chrome WebView
Having V8 as the JavaScript engine for the new web view, the JavaScript performance if much better, ...
- android 关于Location of the Android SDK has not been setup in the preferences的解决方法
今天在部署android开发环境的时候,每次打开eclipse的时候点击AVD Manager的按钮就会弹出Location of the Android SDK has not been setup ...
- Random的用法
import java.util.Random; public class RandomTest { public static void main(String[] args) { Random r ...
- HDU1542 Atlantis(矩形面积并)
#pragma warning (disable:4996) #include<iostream> #include<cstring> #include<string&g ...
- [C++]类的继承与派生
继承性是面向对象程序设计的第二大特性,它允许在既有类的基础上创建新类,新类可以继承既有类的数据成员和成员函数,可以添加自己特有的数据成员和成员函数,还可以对既有类中的成员函数重新定义.利用类的继承和派 ...
- magento后台无法登陆的问题
解决方法: 打开 magento/app/code/core/Mage/Core/Model/Session/Abstract/varien.php 将// set session cookie pa ...
- http://www.cnblogs.com/TankXiao/p/4018219.html
http://www.cnblogs.com/TankXiao/p/4018219.html
- mfc和win32区别
Win32通常是指sdk编程方法,app没有被封装,开发人员需要自己搭程序框架:mfC则是以C++类的形式封装了Windows的API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量 (整理 ...
- lintcode:线段树的查询
线段树的查询 对于一个有n个数的整数数组,在对应的线段树中, 根节点所代表的区间为0-n-1, 每个节点有一个额外的属性max,值为该节点所代表的数组区间start到end内的最大值. 为Segmen ...