[语言月赛 202307] 枚举结构 题解
Source & Knowledge
2023 年 7 月语言月赛,由洛谷网校入门计划/基础计划提供。
题目大意
给定一个表达式 X Y Z W,其中
题目分析
在读入表达式后,只需按照题目给定的条件运算即可。
char x, z;
long long y, w;
cin >> x >> y >> z >> w;
-
表达式的合法性
故此处核心代码如下:
if (x == z && (x >= 'a' && x <= 'z')) { cout << "valid" << endl; ... else { cout << "Invalid" << endl << -1 << endl; } -
-
如果合法,表达式将枚举的次数
对于一个合法的枚举表达式,如果
Y \le W ,其将会枚举W - Y + 1 次;否则,其将会枚举Y - W + 1 次。只需要判断
Y 和W 的大小关系,并输出对应变量即可。故此处核心代码如下:if (x == z && (x >= 'a' && x <= 'z')) { cout << "valid" << endl; if (y <= w) { cout << w - y + 1 << endl; } else { cout << y - w + 1 << endl; } ...