a231: B. 布林運算式
標籤 : 2021國中組網路賽
通過比率 : 3人/4人 ( 75% ) [非即時]
評分方式:
Strictly

最近更新 : 2023-10-17 12:26

內容

2021 網際網路程式設計全國⼤賽 國中組網路賽

最近⼩ Y 正在學習邏輯,⽽眾所皆知的,學習邏輯的第⼀步就是學會「布林變數」。

所謂的「布林變數」,就是⼀個只能是0和1的變數,⽽這些變數可以透過⼀些專⾨的「運算⼦」組成⼀個「布林運算式」。在本題中,我們只會介紹並使⽤到「not」、「and」、「or」三種運算⼦。

⼀個在本題中合法的「布林運算式」可由下列規則所決定,假設A、B是任意兩個合法的布林運算式:

  • 任何單⼀的布林變數是⼀個合法的布林運算式
  • not ( A )是⼀個合法的布林運算式
  • ( A ) and ( B )是⼀個合法的布林運算式
  • ( A ) or ( B )是⼀個合法的布林運算式

在此,所有的「元素」都必須以單⼀空格隔開,元素包括布林變數、括號以及運算⼦,⼀個布林運算式的⻑度被定義為他的元素個數。

⽽對於⼀個合法的布林運算式,他的運算結果如下列規則所決定,假設A、B是任意兩個合法的布林運算式:

  • 若該運算式為單⼀的布林變數,則該運算式的結果為該布林變數被賦予的值
  • 若該運算式為not ( A ),則若A的運算結果是 1,該運算式的運算結果為 0;反之則為1。
  • 若該運算式為( A ) and ( B ),則若A和B的運算結果都是 1,該運算式的運算結果為1;反之其他狀況則為0。
  • 若該運算式為( A ) or ( B ),則若A和B的運算結果都是 0,該運算式的運算結果為0;反之其他狀況則為1。

⼩ Y 在研究這類布林運算式時發現了下列的等式,假設A、B是任意兩個合法的布林運算式,則:

( A ) and ( B ) = not ( ( not ( A ) ) or ( not ( B ) ) ) 這實際上是「笛摩根定理(De Morgan’s laws)」的其中⼀個結論,看到這裡,⼩ Y 便很好奇,是否有辦法把任意符合本題規則的合法布林運算式,轉換成⼀個仍舊合法,但不包含任何and運算⼦的布林運算式呢?實際上,我們可以證明這總是辦得到的。

注意到,兩個 N 個布林變數的布林運算式若等價,代表對於 2N 種可能的變數賦值,兩個運算式的運算結果皆相同。

現在⼩ Y 給你了⼀個合法的布林運算式,請你給他⼀個合法的且等價輸⼊運算式的布林運算式,使得該運算式不包含任何and運算⼦。

輸入說明

輸⼊⾸⾏有兩個正整數 N,M,代表布林變數的種類數和輸⼊運算式的⻑度。接下來⼀⾏,有⼀個符合規則且⻑度為 M 的布林運算式,規則如題敘所述。

  • 1 ≤ N ≤ 10 • 1 ≤ M ≤ 1600
  • 所有布林變數將表⽰成數字,且介於1 ∼ N 之間
  • 所有⾮數字皆為(, ), not, and, or的其中⼀種
輸出說明

⾸⾏輸出⼀個介於1 ∼ 7000之間的數字,代表你轉換過後的布林運算式⻑度。

接下來⼀⾏,輸出⼀個符合規則並等價輸⼊運算式、且不包含任何and操作的布林運算式。若你輸出的答案符合上述所有規定,則任何⼀種答案皆會被視為Accepted,否則會被視為Wrong Answer。

範例輸入
2 7
( 1 ) and ( 2 )
範例輸出
16
not ( ( not ( 1 ) ) or ( not ( 2 ) ) )
測資資訊:
記憶體限制: 512 MB
公開 測資點#0 (4%): 1.0s , <1K
公開 測資點#1 (4%): 1.0s , <1K
公開 測資點#2 (4%): 1.0s , <1K
公開 測資點#3 (4%): 1.0s , <1K
公開 測資點#4 (4%): 1.0s , <1K
公開 測資點#5 (4%): 1.0s , <1K
公開 測資點#6 (4%): 1.0s , <1K
公開 測資點#7 (4%): 1.0s , <1K
公開 測資點#8 (4%): 1.0s , <1K
公開 測資點#9 (4%): 1.0s , <1K
公開 測資點#10 (4%): 1.0s , <1M
公開 測資點#11 (4%): 1.0s , <1M
公開 測資點#12 (4%): 1.0s , <1K
公開 測資點#13 (4%): 1.0s , <1M
公開 測資點#14 (4%): 1.0s , <1M
公開 測資點#15 (4%): 1.0s , <1M
公開 測資點#16 (4%): 1.0s , <1M
公開 測資點#17 (4%): 1.0s , <1M
公開 測資點#18 (4%): 1.0s , <1M
公開 測資點#19 (4%): 1.0s , <1M
公開 測資點#20 (4%): 1.0s , <1M
公開 測資點#21 (4%): 1.0s , <1M
公開 測資點#22 (4%): 1.0s , <1M
公開 測資點#23 (4%): 1.0s , <1M
公開 測資點#24 (4%): 1.0s , <1M
提示 :
標籤:
2021國中組網路賽
出處:
NPSC [管理者:
zero (管理員)
]


編號 身分 題目 主題 人氣 發表日期
沒有發現任何「解題報告」