#P1479. 2024.9.19-秋招-第1题-网络健康检查
-
ID: 121
Type: Default
1000ms
256MiB
Tried: 382
Accepted: 117
Difficulty: 7
Uploaded By:
TaZi
Tags>模拟表达式求值
2024.9.19-秋招-第1题-网络健康检查
题目内容
一线工程师每到重要节日需要对网络进行健康检查,在网络中对各个网元采集数据,判断当前网络是否健康。
因每个网元的判断条件以及采集的数据不同,现在需要你对网络采集到的数据,以及工程师提供的判断条件进行解析。判断条件为布尔表达式,保证合法,字段名不会与关键字冲突。
若采集数据符合条件,则认为网络健康,否则网络处于不健康状态。
输入描述
第一行有2个整数nm 接下来有n行字符串express 接下来m行,每行均有两个字符串,key和value 备注: 表达式中仅会出现 AND、OR、()、′、空格、=、字段名、数据(单引号内),给出的表达式一定是有效的,AND优先级高于OR “="左侧为字段名 “="右侧为数据,类型为字符串 0<n≤5 0<m≤10
输出描述
返回表达式结果:0,1。 0表示健康,1表示不健康。
样例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′ORname=′NE20′) 当name取值为NE40,error取值为0时,表达式计算结果为true,所以输出0,表示健康 对于条件:error=′1′AND(name=′NE40′ORname=′NE20′) 当name取值为NE40,error取值为0时,表达式计算结果为false,所以输出1,表示不健康
样例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′ORname=′NE20′) 当name取值为NE40,error取值为3时,表达式计算结果为false,所以输出1,表示不健康 对于条件:error=′2′AND(name=′NE40′ORname=′NE20′) 当name取值为NE40,error取值为3时,表达式计算结果为false,所以输出1,表示不健康 对于条件:error=′3′AND(name=′NE40′ORname=′NE20′) 当name取值为NE40,error取值为3时,表达式计算结果为true,所以输出0,表示健康
通知
扫码备注华为交流群~期待您的到来
- 湘ICP备2023007293号
- Worker 0, 38ms
- Powered by Hydro v4.14.1 Community