大家都學過了布林表示式的翻譯,其中有乙個拉鍊-回填技術,這次我們就練習這個技術。
注意,在布林表示式中,「並且」運算的優先順序是要高於「或者」運算的。
輸入為一行字串,例如: a < b or c < d and e < f
每個符號都用空格間隔。
其中邏輯運算子包含 and 和 or , 關係運算子包含 < 、> 、<= 、 >= 、== 、 != 。
假鏈跳到0,真鏈跳到1,表示式序號從100開始排。
a < b or c < d and e < f
100(j<,a,b,1)
101(j,_,_,102)
102(j<,c,d,104)
103(j,_,_,0)
104(j<,e,f,100)
105(j,_,_,103)
a < b and c > d or e > f
100(j<,a,b,102)
101(j,_,_,104)
102(j>,c,d,1)
103(j,_,_,101)
104(j>,e,f,100)
105(j,_,_,0)
#include
using
namespace std;
vector ans;
string s;
intmain()
printf
("%d(j%s,%s,%s,%d)\n"
,id,ans[i+1]
.c_str()
,ans[i]
.c_str()
,ans[i+2]
.c_str()
,t);
t = id -
(n-3)/
3*2;
id++
;printf
("%d(j,_,_,%d)\n"
,id,f)
; id++
; ans.
clear()
;if(x==
"end"
)break;}
else
if(x ==
"and"
) f+=2
;else
ans.
push_back
(x);
}}
M 翻譯布林表示式 編譯原理機測
m 翻譯布林表示式 description 大家都學過了布林表示式的翻譯,其中有乙個拉鍊 回填技術,這次我們就練習這個技術。input 輸入為一行字串,例如 a b or c d and e f 每個符號都用空格間隔。其中邏輯運算子包含 and 和 or 關係運算子包含 output 假鏈跳到 真鏈...
翻譯布林表示式
翻譯布林表示式time limit 1000 ms memory limit 65536 kib problem description 大家都學過了布林表示式的翻譯,其中有乙個拉鍊 回填技術,這次我們就練習這個技術。input 多組輸入,每組輸入為一行字串,例如 a b or c d and e ...
翻譯布林表示式
time limit 1000 ms memory limit 65536 kib submit statistic problem description 大家都學過了布林表示式的翻譯,其中有乙個拉鍊 回填技術,這次我們就練習這個技術。input 多組輸入,首先輸入乙個整數t,代表資料組數。接下來...