题目信息

题目类型
入门级
题目年份
2022
题目题型
编程题
关 键 词
逻辑表达式

题目题干

逻辑表达式【expr】cgt100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
题目描述cgt100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
逻辑表达式是计算机科学中的重要概念和工具,包含逻辑值、逻辑运算、逻辑运算优先级等内容。cgt100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
cgt100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
在一个逻辑表达式中,元素的值只有两种可能:0 00(表示假)和 1 11(表示真)。元素之间有多种可能的逻辑运算,本题中只需考虑如下两种:“与”(符号为 &)和“或”(符号为 |)。其运算规则如下:cgt100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
cgt100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
0 & 0 = 0 & 1 = 1 & 0 = 0 0 \mathbin{\&} 0 = 0 \mathbin{\&} 1 = 1 \mathbin{\&} 0 = 00&0=0&1=1&0=0,1 & 1 = 1 1 \mathbin{\&} 1 = 11&1=1;cgt100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
0 ∣ 0 = 0 0 \mathbin{|} 0 = 00∣0=0,0 ∣ 1 = 1 ∣ 0 = 1 ∣ 1 = 1 0 \mathbin{|} 1 = 1 \mathbin{|} 0 = 1 \mathbin{|} 1 = 10∣1=1∣0=1∣1=1。cgt100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
cgt100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
在一个逻辑表达式中还可能有括号。规定在运算时,括号内的部分先运算;两种运算并列时,& 运算优先于 | 运算;同种运算并列时,从左向右运算。cgt100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
cgt100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
比如,表达式 0|1&0 的运算顺序等同于 0|(1&0);表达式 0&1&0|1 的运算顺序等同于 ((0&1)&0)|1。cgt100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
cgt100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
此外,在 C++ 等语言的有些编译器中,对逻辑表达式的计算会采用一种“短路”的策略:在形如 a&b 的逻辑表达式中,会先计算 a 部分的值,如果 a = 0 a = 0a=0,那么整个逻辑表达式的值就一定为 0 00,故无需再计算 b 部分的值;同理,在形如 a|b 的逻辑表达式中,会先计算 a 部分的值,如果 a = 1 a = 1a=1,那么整个逻辑表达式的值就一定为 1 11,无需再计算 b 部分的值。cgt100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
cgt100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
现在给你一个逻辑表达式,你需要计算出它的值,并且统计出在计算过程中,两种类型的“短路”各出现了多少次。需要注意的是,如果某处“短路”包含在更外层被“短路”的部分内则不被统计,如表达式 1|(0&1) 中,尽管 0&1 是一处“短路”,但由于外层的 1|(0&1) 本身就是一处“短路”,无需再计算 0&1 部分的值,因此不应当把这里的 0&1 计入一处“短路”。cgt100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
cgt100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
输入格式cgt100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
输入共一行,一个非空字符串 s ss 表示待计算的逻辑表达式。cgt100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
cgt100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
输出格式cgt100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
输出共两行,第一行输出一个字符 0 或 1,表示这个逻辑表达式的值;第二行输出两个非负整数,分别表示计算上述逻辑表达式的过程中,形如 a&b 和 a|b 的“短路”各出现了多少次。cgt100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
cgt100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
样例 #1cgt100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
样例输入 #1cgt100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
0&(1|0)|(1|1|1&0)cgt100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
1cgt100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
样例输出 #1cgt100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
1cgt100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
1 2cgt100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
1cgt100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
2cgt100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
样例 #2cgt100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
样例输入 #2cgt100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
(0|1&0|1|1|(1|1))&(0&1&(1|0)|0|1|0)&0cgt100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
1cgt100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
样例输出 #2cgt100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
0cgt100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
2 3cgt100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
1cgt100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
2cgt100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
提示cgt100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
【样例解释 #1】cgt100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
cgt100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
该逻辑表达式的计算过程如下,每一行的注释表示上一行计算的过程:cgt100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
cgt100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
0&(1|0)|(1|1|1&0)cgt100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
=(0&(1|0))|((1|1)|(1&0)) //用括号标明计算顺序cgt100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
=0|((1|1)|(1&0))   //先计算最左侧的 &,是一次形如 a&b 的“短路”cgt100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
=0|(1|(1&0))       //再计算中间的 |,是一次形如 a|b 的“短路”cgt100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
=0|1               //再计算中间的 |,是一次形如 a|b 的“短路”cgt100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
=1cgt100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
1cgt100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
2cgt100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
3cgt100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
4cgt100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
5cgt100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
6cgt100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
【样例 #3】cgt100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
cgt100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
见附件中的 expr/expr3.in 与 expr/expr3.ans。cgt100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
cgt100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
【样例 #4】cgt100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
cgt100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
见附件中的 expr/expr4.in 与 expr/expr4.ans。cgt100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
逻辑表达式【expr】 题目描述 逻辑表达式是计算机科学中的重要概念和工具,包含逻辑值、逻辑运算、逻辑运算优先级等内容。  在一个逻辑表达式中,元素的值只有两种可能:0 00(表示假)和 1 11(表示真)。元素之间有多种可能的逻辑运算,本题中只需考虑如下两种:“与”(符号为 &)和“或”(符号为 |)。其运算规则如下:  0 & 0 = 0 & 1 = 1 & 0 = 0 0 \mathbin{\&} 0 = 0 \mathbin{\&} 1 = 1 \mathbin{\&} 0 = 00&0=0&1=1&0=0,1 & 1 = 1 1 \mathbin{\&} 1 = 11&1=1; 0 ∣ 0 = 0 0 \mathbin{|} 0 = 00∣0=0,0 ∣ 1 = 1 ∣ 0 = 1 ∣ 1 = 1 0 \mathbin{|} 1 = 1 \mathbin{|} 0 = 1 \mathbin{|} 1 = 10∣1=1∣0=1∣1=1。  在一个逻辑表达式中还可能有括号。规定在运算时,括号内的部分先运算;两种运算并列时,& 运算优先于 | 运算;同种运算并列时,从左向右运算。  比如,表达式 0|1&0 的运算顺序等同于 0|(1&0);表达式 0&1&0|1 的运算顺序等同于 ((0&1)&0)|1。  此外,在 C++ 等语言的有些编译器中,对逻辑表达式的计算会采用一种“短路”的策略:在形如 a&b 的逻辑表达式中,会先计算 a 部分的值,如果 a = 0 a = 0a=0,那么整个逻辑表达式的值就一定为 0 00,故无需再计算 b 部分的值;同理,在形如 a|b 的逻辑表达式中,会先计算 a 部分的值,如果 a = 1 a = 1a=1,那么整个逻辑表达式的值就一定为 1 11,无需再计算 b 部分的值。  现在给你一个逻辑表达式,你需要计算出它的值,并且统计出在计算过程中,两种类型的“短路”各出现了多少次。需要注意的是,如果某处“短路”包含在更外层被“短路”的部分内则不被统计,如表达式 1|(0&1) 中,尽管 0&1 是一处“短路”,但由于外层的 1|(0&1) 本身就是一处“短路”,无需再计算 0&1 部分的值,因此不应当把这里的 0&1 计入一处“短路”。  输入格式 输入共一行,一个非空字符串 s ss 表示待计算的逻辑表达式。  输出格式 输出共两行,第一行输出一个字符 0 或 1,表示这个逻辑表达式的值;第二行输出两个非负整数,分别表示计算上述逻辑表达式的过程中,形如 a&b 和 a|b 的“短路”各出现了多少次。  样例 #1 样例输入 #1 0&(1|0)|(1|1|1&0) 1 样例输出 #1 1 1 2 1 2 样例 #2 样例输入 #2 (0|1&0|1|1|(1|1))&(0&1&(1|0)|0|1|0)&0 1 样例输出 #2 0 2 3 1 2 提示 【样例解释 #1】  该逻辑表达式的计算过程如下,每一行的注释表示上一行计算的过程:  0&(1|0)|(1|1|1&0) =(0&(1|0))|((1|1)|(1&0)) //用括号标明计算顺序 =0|((1|1)|(1&0))   //先计算最左侧的 &,是一次形如 a&b 的“短路” =0|(1|(1&0))       //再计算中间的 |,是一次形如 a|b 的“短路” =0|1               //再计算中间的 |,是一次形如 a|b 的“短路” =1 1 2 3 4 5 6 【样例 #3】  见附件中的 expr/expr3.in 与 expr/expr3.ans。  【样例 #4】  见附件中的 expr/expr4.in 与 expr/expr4.ans。

答案解析

相关题目

上升点列【point】 题目描述 在一个二维平面内,给定 n nn 个整数点 ( x i , y i ) (x_i, y_i)(x  i ​  ,y  i ​  ),此外你还可以自由添加 k kk 个
逻辑表达式【expr】 题目描述 逻辑表达式是计算机科学中的重要概念和工具,包含逻辑值、逻辑运算、逻辑运算优先级等内容。 在一个逻辑表达式中,元素的值只有两种可能:0 00(表示假)和 1 11(表
解密【decode】 题目描述 给定一个正整数 k kk,有 k kk 次询问,每次给定三个正整数 n i , e i , d i n_i, e_i, d_in  i ​  ,e  i ​  ,d 
乘方【pow】 题目描述 小文同学刚刚接触了信息学竞赛,有一天她遇到了这样一个题:给定正整数 a aa 和 b bb,求 a b a^ba  b   的值是多少。 a b a^ba  b   即 b
第43题 (最小区间覆盖)给出 n 个区间,第 i 个区间的左右端点是[ai,bi]。现在要在这些区间中选出若干个,使得区间 [0,m][0,m] 被所选区间的并覆盖(即每一个 0≤i≤m 都在某个
第42题 (最小区间覆盖)给出 n 个区间,第 i 个区间的左右端点是[ai,bi]。现在要在这些区间中选出若干个,使得区间 [0,m][0,m] 被所选区间的并覆盖(即每一个 0≤i≤m 都在某个
第41题 (最小区间覆盖)给出 n 个区间,第 i 个区间的左右端点是[ai,bi]。现在要在这些区间中选出若干个,使得区间 [0,m][0,m] 被所选区间的并覆盖(即每一个 0≤i≤m 都在某个
第40题 (最小区间覆盖)给出 n 个区间,第 i 个区间的左右端点是[ai,bi]。现在要在这些区间中选出若干个,使得区间 [0,m][0,m] 被所选区间的并覆盖(即每一个 0≤i≤m 都在某个
第39题 (最小区间覆盖)给出 n 个区间,第 i 个区间的左右端点是[ai,bi]。现在要在这些区间中选出若干个,使得区间 [0,m][0,m] 被所选区间的并覆盖(即每一个 0≤i≤m 都在某个
第38题 (质因数分解)给出正整数 n,请输出将 n 质因数分解的结果,结果从小到大输出。 例如:输入n=120,程序应该输出 2 2 2 3 5,表示 120=2×2×2×3×5。输入保证 2≤

提示声明

  • 免责声明:本站资源均来自网络或者用户投稿,仅供用于学习和交流:如有侵权联系删除!
  • 温馨提示:本文属于积分文章,需要充值获得积分或升级VIP会员,也可在会员中心投稿获取。

猜你喜欢