NOIP2012提高组初赛NB题

时间:2022-10-19 01:30:45

本题中,我们约定布尔表达式只能包含 p, q, r 三个布尔变量,以及“与”(∧)、“或”(∨)、“非”(¬)三种布尔运算。如果无论 p, q, r 如何取值,两个布尔表达式的值总是相同,则称它们等价。例如,(p∨q)∨r 和 p∨(q∨r)等价,p∨¬p 和 q∨¬q 也等价;而 p∨q 和 p∧q 不等价。那么,两两不等价的布尔表达式最多有___个。

一看这题,人原地裂开

这不就是

授人以鱼,考人以鱽鱾鲀鱿鲃鲂鲉鲌鲄鲆鲅鲇鲏鲊鲋鲐鲈鲍鲎鲝鲘鲙鲗鲓鲖鲞鲛鲒鲚鲜鲟鲔鲕鲑鲧鲬鲪鲫鲩鲣鲨鲡鲢鲤鲠鲥鲦鲺鲯鲹鲴鲶鲳鲮鲭鲵鲲鲰鲱鲻鲷鲸鳋鳊鳁鳀鲾鲼鳈鳉鳃鳄鲿鳇鳂鳆鳅鲽鳌鳒鳎鳏鳑鳐鳍鳘鳛鳕鳓鳙鳗鳚鳔鳖鳜鳟鳞鳝鳡鳠鳢鳣鳤。

吗?

但,

正解:

对于p、q、r三个变量,每个变量可取0,1两种取值,共有8种组合。

对于每种组合,代入表达式只有0和1两种答案。

因此两两不等价的表达式只有2^8=256种。

如果此题写出所有的逻辑表达式然后再去数,那你就上了出题人的当了,写半天再数半天却总免不了少几个或多几个。

反过来想,有n个元素,它们取“真”或“假”分别用“0”和“1”表示,那么n个元素取值情况就有 2^n 种,也就是n位的二进制数。

而 \(2^n\) 种情况可对应于 \(2^{2^n}\) 种不等价的逻辑表达式。