这场还是差点
A.小红的最小最大
题意:
min(a, b) + x是不是比 max(a, b) 如果比它大输出YES 否则输出NO
Code:
#include<bits/stdc++.h>using namespace std;int main() {ios::sync_with_stdio(false);cin.tie(0); cout.tie(0);int a, b, x; cin >> a >> b >> x;cout << (min(a, b) + x > max(a, b) ? "YES\n" : "NO\n");return 0; }
B.小红的四则运算(easy)
题意:
经过任意四则运算后可得的最大值,允许加括号,但每个数只能被使用一次,且必须被使用一次。 easy 版本可以调整三个数的顺序。所以只有三种可能排完序后a, b,c因此只要a+b+c --- (a + b) * c --- (a + b) * c枚举即可
Code:
#include<bits/stdc++.h>using namespace std;int main() {ios::sync_with_stdio(false);cin.tie(0); cout.tie(0);int a[3] = {0};cin >> a[0] >> a[1] >> a[2];sort(a, a + 3);cout << max({a[0] + a[1] + a[2], a[0] * a[1] * a[2], (a[0] + a[1]) * a[2]});return 0; }
C.小红的四则运算(hard)
题意:
这个只能按照顺序来 不排序加上都加个条件a * (b + c)
Code:
#include<bits/stdc++.h>using namespace std; int main() {ios::sync_with_stdio(false);cin.tie(0); cout.tie(0);int a[3] = {0};for (int i = 0; i < 3; i++) {cin >> a[i];} cout << max({a[0] + a[1] + a[2], a[0] * a[1] * a[2], (a[0] + a[1]) * a[2], a[0] * (a[1] + a[2])});return 0; }