「若P則Q。」這樣形式的句子常常在日常生活中的對話出現。但是這句話卻也蘊含了另一個等價的句子:「若非Q則非P。」
舉個例子吧,「若 "今天下雨" 則 "某甲帶傘"。」這句話蘊含著「若 "某甲不帶傘",則 "今天不下雨" 。」
講得更精確一點,若命題A為「若P則Q」,那麼他和命題B「若非Q則非P」具有相同意義。我們說命題B是命題A的逆否命題。
而現在,我們把這個句子寫成英文句子如下:
IF P THEN Q
上面這個句子跟
IF not Q THEN not P
是等價的。
有時候,只要讓P和Q同時成立,就可以達成目標R。這時候命題可以寫成「若P和Q,則R。」
如果從另一個角度來解釋的話,如果R不能成立,那麼必定有 "P不成立或者Q不成立" ,因此原命題的等價逆否命題為「若非R則非P或非Q。」
舉個例子來說:「若同時 "吃蔬菜" 以及 "吃水果",才能 "保持健康" 」,那麼「 "不保持健康" 的人,一定 "沒吃蔬菜" 或 "沒吃水果"」。
如果只有P、Q其中之一成立,就可以使R成立的話,命題可以寫成「若P或Q,則R。」
相同地可以寫出其逆否命題為「若非R則非P且非Q。」
舉個例子來說:「若只要 "聽老闆的話" 或者 "認真工作",就能 "領高薪"」,那麼「 "不能領高薪" 的人一定 "沒聽老闆的話" 也 "沒認真工作"」。
注意到兩個例子的不同之處了嗎?那麼,請你寫個程式來求出一個命題的逆否命題吧!
輸入檔的第一列有一個正整數n(1<=n<=10,000),代表有幾個命題需要處理。
第二列開始每一列有一個命題,每一個命題都形如
IF (敘述) THEN (敘述)每一個敘述可能是一或兩個單純敘述所組合而成。所謂「單純敘述」將以一個大寫英文字母表示之。
兩個單純敘述之間會有一個邏輯符號 and 或者是 or 連結,代表這兩個單純敘述之間的關係。一個單純敘述的前面可能接著代表否定意義的 not。你可以假設每一個命題都是有意義的,不會有不合法的命題。
請參考範例輸入,表達能力不夠好敬請見諒m(_ _)m。
對於每一個命題,請輸出其逆否命題,一個一列,請不要輸出多餘的空白。形式請參考範例輸出。
IF 和 THEN 永遠是大寫,not,and,or永遠是小寫 :)
原TIOJ1018 / Problem Setter: Tmt, TimeString, TDYa127
No. | Testdata Range | Score |
---|---|---|
1 | 0 | 100 |