zoukankan      html  css  js  c++  java
  • POJ3295Tautology

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

      1 #include<cstdio>
      2 #include<iostream>
      3 #include<stack>
      4 #include<cstring>
      5 using namespace std ;
      6 stack<int >Q;
      7 int p,q,r,s,t ,i,j;
      8 int a,b,flag;
      9 int judge(char ch,int p,int q, int r,int s,int t)
     10 {
     11     switch(ch)
     12     {
     13         case 'p':Q.push(p);return 1;
     14         case 'q':Q.push(q);return 1;
     15         case 'r':Q.push(r);return 1;
     16         case 's':Q.push(s);return 1;
     17         case 't':Q.push(t);return 1;
     18     }
     19     return 0 ;
     20 }
     21 void judge2(char sh)
     22 {
     23     switch(sh)
     24     {
     25         case 'K':
     26         {
     27             a = Q.top() ;
     28             Q.pop();
     29             b = Q.top();
     30             Q.pop() ;
     31             Q.push(a&&b);
     32             break ;
     33         }
     34         case 'A':
     35         {
     36             a = Q.top();
     37             Q.pop();
     38             b = Q.top();
     39             Q.pop();
     40             Q.push(a||b);
     41             break;
     42         }
     43         case 'N':
     44         {
     45             a = Q.top();
     46             Q.pop();
     47             Q.push(!a);
     48             break ;
     49         }
     50         case 'C':
     51         {
     52             a = Q.top();
     53             Q.pop();
     54             b = Q.top();
     55             Q.pop();
     56             Q.push((!a)||b);
     57             break;
     58         }
     59         case 'E':
     60         {
     61             a = Q.top();
     62             Q.pop();
     63             b = Q.top();
     64             Q.pop();
     65             Q.push(a == b);
     66             break;
     67         }
     68     }
     69     return;
     70 }
     71 int main()
     72 {
     73     char ah[101];
     74     while(cin>>ah)
     75     {
     76         if(strcmp(ah,"0") == 0)
     77         break;
     78         flag = 1;
     79         int len = strlen(ah)-1;
     80         for(p = 0 ; p <= 1 ; p++)
     81         {
     82             for(q = 0 ; q <= 1 ; q++)
     83             {
     84                 for(r = 0 ; r <= 1 ; r++)
     85                 {
     86                     for(s = 0 ; s <= 1 ; s++)
     87                     {
     88                         for(t = 0 ; t <= 1 ; t++)
     89                         {
     90                             for(i = len ; i >= 0 ; i--)
     91                             {
     92                                 if(!judge(ah[i],p,q,r,s,t))
     93                                 {
     94                                     judge2(ah[i]);
     95                                 }
     96                             }
     97                             j = Q.top();
     98                             Q.pop();
     99                             if(!j)
    100                             {
    101                                 //cout<<"not"<<endl;
    102                                 flag = 0;
    103                                 break;
    104                             }
    105                         }
    106                         if(!flag) break;
    107                     }
    108                     if(!flag) break;
    109                 }
    110                 if(!flag) break;
    111             }
    112             if(!flag) break ;
    113         }
    114         if(flag)
    115         cout<<"tautology"<<endl ;
    116         else cout<<"not"<<endl;
    117     }
    118     return 0 ;
    119 }
    View Code

    大神的博客,两种方法实现的

    http://blog.csdn.net/lyy289065406/article/details/6642766

  • 相关阅读:
    C# 类动态添加属性、方法(Z)
    WPF三大模板简介(Z)
    C# mongodb 驱动操作(Z)
    解析Exception和C#处理Exception的常用方法总结
    创建 WPF 工具箱控件
    WPF 线程 Dispatcher
    Path
    C#操作字符串方法总结<转>
    P2058 海港
    P2234 [HNOI2002]营业额统计
  • 原文地址:https://www.cnblogs.com/luyingfeng/p/3243835.html
Copyright © 2011-2022 走看看