#14195: 測資 8 求個高手...


a0984030252@gmail.com (作者)

學校 : 國立基隆高級中學
編號 : 72711
來源 : [49.159.170.191]
最後登入時間 :
2020-01-29 19:26:44
c461. apcs 邏輯運算子 (Logic Operators) -- apcs | From: [114.198.160.115] | 發表日期 : 2018-06-24 22:39

#include<iostream>
using namespace std ;
int main()
{
    int is,is_an,is_o,is_ox;
    int ans[2][2],o[2][2],xo[2][2];
    int a,b,n;
    while(cin>>a>>b>>n)
    {
        is=0;
        is_an=0;
        is_o=0;
        is_ox=0;
        for(int i=0;i<2;i++)
        {
            for(int j=0;j<2;j++)
            {
                ans[i][j]=0;
                o[i][j]=0;
                xo[i][j]=0;
            }
        }
        if(a>0&&b>0)
        {
            ans[1][1]=1;
            ans[0][1]=1;
            ans[1][0]=1;
            ans[0][0]=1;
        }
        if(a!=b||b!=a)
        {
            xo[0][1]=1;
            xo[1][0]=1;
            xo[1][1]=1;
            xo[0][0]=1;
        }
        if(a>0||b>0)
        {
            o[1][0]=1;
            o[0][1]=1;
            o[1][1]=1;
            o[0][0]=1;
        }
        /*for(int i=0;i<2;i++)
        {
            for(int j=0;j<2;j++)
            {
                cout<<o[i][j]<<" ";
            }
            cout<<endl;
        }
        cout<<endl;
        for(int i=0;i<2;i++)
        {
            for(int j=0;j<2;j++)
            {
                cout<<xo[i][j]<<" ";
            }
            cout<<endl;
        }
        cout<<endl;*/
        for(int i=0;i<2;i++)
        {
            for(int j=0;j<2;j++)
            {
                if(ans[i][j]==n)
                {

                    is=1;
                    is_an=2;

                }
                if(o[i][j]==n)
                {

                    is=1;
                    is_o=3;

                }
                if(xo[i][j]==n)
                {

                    is=1;
                    is_ox=4;

                }
            }
        }
        if(is==0)
        {
            cout<<"IMPOSSIBLE"<<endl;
        }
        if(is_an==2)
        {
            cout<<"AND"<<endl;
        }
        if(is_o==3)
        {
            cout<<"OR"<<endl;
        }
        if(is_ox==4)
        {
            cout<<"XOR"<<endl;
        }
    }
}
 
#14200: Re:測資 8 求個高手...


nkavengertree (LaG)

學校 : 不指定學校
編號 : 62501
來源 : [49.216.191.28]
最後登入時間 :
2021-11-21 03:06:49
c461. apcs 邏輯運算子 (Logic Operators) -- apcs | From: [120.125.211.7] | 發表日期 : 2018-06-26 09:28

if(a!=b||b!=a)
        {
            xo[0][1]=1;
            xo[1][0]=1;
            xo[1][1]=1;
            xo[0][0]=1;
        }

a!=b和b!=a應該判斷的東西是一樣的
還有這題數字沒有說一定是0或1
有可能是2.3.4.5......
所以不能用a!=b來判斷xor
如果數字是1和3
那XOR的節果應該是0
而你的寫法應該會變成1
 
#14211: Re:測資 8 求個高手...


james.liu841@gmail.com (小貓貓)

學校 : 國立交通大學
編號 : 67311
來源 : [140.113.127.204]
最後登入時間 :
2023-06-17 16:51:41
c461. apcs 邏輯運算子 (Logic Operators) -- apcs | From: [36.226.45.17] | 發表日期 : 2018-06-28 17:22

#include
using namespace std ;
int main()
{
    int is,is_an,is_o,is_ox;
    int ans[2][2],o[2][2],xo[2][2];
    int a,b,n;
    while(cin>>a>>b>>n)
    {
        is=0;
        is_an=0;
        is_o=0;
        is_ox=0;



#include
using namespace std ;
int main()
{
    int is,is_an,is_o,is_ox;
    int ans[2][2],o[2][2],xo[2][2];
    int a,b,n;
    while(cin>>a>>b>>n)
    {
a = (bool)a; b = (bool)b; is=0; is_an=0; is_o=0; is_ox=0; 以下省略...
 
ZeroJudge Forum