挑战赛#21 T4题解
2025-08-17 18:58:31
发布于:浙江
4阅读
0回复
0点赞
贴一个考场题解
题意
有 个 、 个 、 个 , 可以组合,在获得最多单词的情况下,最少有多少个
思路
多用 都用了一个 ,所以可以多用 ,少用 ,最后如果剩一个 ,可以少用一个,多用一个 ,时间复杂度
代码
代码比较丑陋,凑合着看吧
#include <bits/stdc++.h>
#define endl '\n'
using namespace std;
int x, y, z;
void solve() {
cin >> x >> y >> z;
int S, mwa; //最多 S 个单词、 mwa 为 wa 的最大值
if (x < y) { // 可以都选 ac
S = x;
mwa = 0;
}
else {
int a0 = x - y; // 选完 ac 还有多少个 a
if (a0 <= z) { //剩下的 a 选 wa
S = x;
mwa = a0;
}
else {
S = y + z + (a0 - z) / 2;
if ((a0 - z) % 2 == 1 && z > 0) { // 最后一个可以选 aa
mwa = z - 1;
}
else {
mwa = z;
}
}
}
cout << S << " " << mwa << endl;
}
int main () {
ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
int _;
cin >> _;
while (_--) {
solve();
}
}
这里空空如也
有帮助,赞一个