• poj 3295 Tautology 夜


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

    代码:

    #include<iostream>
    #include<stdio.h>
    #include<string.h>
    #include<math.h>
    #include<algorithm>
    #include<vector>
    #include<set>
    #include<map>
    #include<string>
    #include<queue>
    #include<stack>
    #include <iomanip>
    using namespace std;
    #define LL long long
    #define sint short int
    const int INF=0x3f3f3f3f;
    //priority_queue<int,vector<int>,greater<int> >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<bool>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"<<endl;
            else
            cout<<"not"<<endl;
        }
        return 0;
    }
    

      

  • 相关阅读:
    第三次作业
    第二次作业
    第一次作业
    软件工程第0次作业
    第四次作业
    第三次作业
    第二次作业
    第一次作业
    第零次作业
    第四次软件工程作业
  • 原文地址:https://www.cnblogs.com/liulangye/p/2803596.html
Copyright © 2020-2023  润新知