小 L 今天学习了 Kleene 三值逻辑。
在三值逻辑中,一个变量的值可能为:真(,简写作 )、假(,简写作 )或未确定(,简写作 )。
在三值逻辑上也可以定义逻辑运算。由于小 L 学习进度很慢,只掌握了逻辑非运算 ,其运算法则为:
现在小 L 有 个三值逻辑变量 。小 L 想进行一些有趣的尝试,于是他写下了 条语句。语句有以下三种类型,其中 表示赋值:
- ,其中 为 的一种;
- ;
- 。
一开始,小 L 会给这些变量赋初值,然后按顺序运行这 条语句。
小 L 希望执行了所有语句后,所有变量的最终值与初值都相等。在此前提下,小 L 希望初值中 的变量尽可能少。
在本题中,你需要帮助小 L 找到 变量个数最少的赋初值方案,使得执行了所有语句后所有变量的最终值和初始值相等。小 L 保证,至少对于本题的所有测试用例,这样的赋初值方案都必然是存在的。