#P1505. 【华为】2024-9-19-第一题-网络检查
【华为】2024-9-19-第一题-网络检查
题目描述
一线工程师每到重要节日需要对网络进行健康检查,在网络中对各个网元采集数据,判断当前网络是否健康。
因每个网元的判断条件以及采集的数据不同,现在需要你对网络采集到的数据,以及工程师提供的判断条件进行解析。判断条件为布尔表达式,保证合法,字段名不会与关键字冲突。
若采集数据符合条件,则认为网络健康,否则网络处于不健康状态。
输入描述
第一行输入两个整数
接下来有行字符串
接下来行,每行均有两个字符串,和
备注:表达式中仅会出现 AND
,OR
,()
,'
,=
,空格,字段名、数据(单引号内),给出的表达式一定是有效的,优先级高于,“"左侧为字段名,“"右侧为数据,类型为字符串
输出描述
共有行,每行一个整数,表示对应个判断条件的结果。其中表示健康,表示不健康。`
样例 1
输入
2 2
error = '0' AND (name = 'NE40' OR name = 'NE20')
error = '1' AND (name = 'NE40' OR name = 'NE20')
name NE40
error 0
输出
0
1
样例解释
对于条件:error='0'and (name='NE40'or name='NE20')
,当取值为,取值为时,表达式计算结果为,所以输出,表示健康;
对于条件:error ='1' and (name = 'NE40' or name ='NE20')
,当取值为,取值为时,表达式计算结果为,所以输出,表示不健康.
样例 2
输入
3 2
error = '1' AND (name = 'NE40' OR name ='NE20')
error = '2' AND (name = 'NE40' OR name ='NE20')
error = '3' AND (name = 'NE40' OR name ='NE20')
name NE40
error 3
输出
1
1
0
样例解释
对于条件:error ='1' and (name ='NE40' or name ='NE20')
,当取值为,取值为时,表达式计算结果为,所以输出,表示不健康;
对于条件:error ='2' and (name = 'NE40' or name = 'NE20')
,当取值为,取值为时,表达式计算结果为,所以输出,表示不健康;
对于条件:error ='3' and (name= 'NE40' or name ='NE20')
,当取值为,取值为时,表达式计算结果为,所以输出,表示健康.