题库/S0130

#S0130. 【23NOIP提高组】三值逻辑

    传统题 难度: 普及+ 标签>一本通带权并查集模拟状态、步骤与事件
时间限制1000 ms
内存限制512 MiB
通过率—0 / 0 次提交
题目描述 查看题解 开始编程Alt+E

S0130 · 【23NOIP提高组】三值逻辑

退出在线编程模式
普及+ 读懂题意,让每一次思考成为成长。
时间限制1000 ms
内存限制512 MiB
通过率—0 / 0 次提交

题目描述

小 L 今天学习了 Kleene 三值逻辑。 在三值逻辑中,一个变量的值可能为:真(TrueTrue,简写作 TT)、假(FalseFalse,简写作FF)或未确定(UnknownUnknown,简写作 UU)。 在三值逻辑上也可以定义逻辑运算。由于小 L 学习进度很慢,只掌握了逻辑非运算¬,其运算法则为: ¬T=F,¬F=T,¬U=U¬T = F, ¬F = T, ¬U = U 现在小 L 有 nn 个三值逻辑变量 x1x_1, · · · ,xnx_n。小 L 想进行一些有趣的尝试,于是他写下了 mm 条语句。语句有以下三种类型,其中 ← 表示赋值:

  1. xix_i ← vv,其中 vv 为 TT,FF, UU 的一种;
  2. xix_i ← xjx_j;
  3. xix_i ← ¬xj¬x_j。 一开始,小 L 会给这些变量赋初值,然后按顺序运行这 mm 条语句。 小 L 希望执行了所有语句后,所有变量的最终值与初值都相等。在此前提下,小 L希望初值中 UnknownUnknown 的变量尽可能少。 在本题中,你需要帮助小 L 找到 UnknownUnknown 变量个数最少的赋初值方案,使得执行了所有语句后所有变量的最终值和初始值相等。小 L 保证,至少对于本题的所有测试用例,这样的赋初值方案都必然是存在的。

输入

本题的测试点包含有多组测试数据。 输入的第一行包含两个整数 cc 和 tt,分别表示测试点编号和测试数据组数。对于样例,cc 表示该样例与测试点 cc 拥有相同的限制条件。 接下来,对于每组测试数据: • 输入的第一行包含两个整数 nn 和 mm,分别表示变量个数和语句条数。 • 接下来 mm 行,按运行顺序给出每条语句。 – 输入的第一个字符 vv 描述这条语句的类型。保证 vv 为 TFU+‐TFU+‐ 的其中一种。 – 若 vv 为 TFUTFU 的某一种时,接下来给出一个整数 ii,表示该语句为 xix_i ← vv; – 若 vv 为 ++,接下来给出两个整数 ii, jj,表示该语句为 xix_i ← xjx_j; – 若 vv 为 ‐‐,接下来给出两个整数 ii, jj,表示该语句为 xix_i ← ¬xj¬x_j。

输出

对于每组测试数据输出一行一个整数,表示所有符合条件的赋初值方案中,UnknownUnknown变量个数的最小值。

输入样例

1 3
3 3
‐ 2 1
‐ 3 2
+ 1 3
3 3
‐ 2 1
‐ 3 2
‐ 1 3
2 2
T 2
U 2

输出样例

0
3
1

提示

【样例 1 解释】 第一组测试数据中,mm 行语句依次为 • x2x_2 ← ¬x1¬x_1; • x3x_3 ← ¬x2¬x_2; • x1x_1 ← x3x_3。 一组合法的赋初值方案为 x1=Tx_1 = T, x2=Fx_2 = F, x3=Tx_3 = T,共有 00 个 UnknownUnknown 变量。因为不存在赋初值方案中有小于 00 个 UnknownUnknown 变量,故输出为 00。 第二组测试数据中,mm 行语句依次为 • x2x_2 ← ¬x1¬x_1; • x3x_3 ← ¬x2¬x_2; • x1x_1 ← ¬x3¬x_3。 唯一的赋初值方案为 x1=x2=x3=Ux_1 = x_2 = x_3 = U,共有 33 个 UnknownUnknown 变量,故输出为 33。 【数据范围】 对于所有测试数据,保证: • 1≤t≤61 ≤ t ≤ 6,1≤n,m≤1051 ≤ n, m ≤ 10^5; • 对于每个操作,vv 为 TFU+‐TFU+‐ 中的某个字符,1≤i,j≤n1 ≤ i, j ≤ n。

测试点编号 n, m ≤ v 可能的取值
1, 210TFU + −
3103 TFU
4 105 TFU
5 103 U+
6 105 U+
7 103 +−
8 105 +−
9 103 TFU + −
10 105 TFU + −

运算符说明

排版中的‐、−与半角-均表示逻辑非赋值。

评测数据说明

本题使用按题意独立构造、以独立程序核对的训练数据及公开样例,共5个测试点,非原站或官方原始数据。总分100分。

题目信息

#1940
—

暂无提交记录

练习难度 普及+
时间限制
1000ms
内存限制
512MiB
上传者