【正经题解】田忌赛马Easy
2024-03-18 14:10:27
发布于:浙江
84阅读
0回复
0点赞
输入田忌和齐王各自的马的能力值。
将两者的马按能力值降序排序。
使用贪心策略,从最强的马开始比较,如果田忌的马能战胜齐王的马,就增加奖金并移动到下一场比赛。
最终输出田忌最多可以获得的奖金数。
#include<bits/stdc++.h>
using namespace std;
bool cmp(int x, int y) {
return x > y;
}
int main() {
int n;
cin >> n;
int a[n + 1], b[n + 1];
for (int i = 1; i <= n; i++) {
scanf("%d", &a[i]);
}
for (int i = 1; i <= n; i++) {
scanf("%d", &b[i]);
}
sort(a + 1, a + n + 1);
sort(b + 1, b + n + 1);
int cnt = 1, sum = 0;
for (int i = 1; i <= n; i++) {
if (a[i] > b[cnt]) {
sum++;
cnt++;
}
}
cnt = 1;
for (int i = 1; i <= n; i++) {
if (a[i] < b[cnt]) {
sum--;
} else cnt++;
}
cout << sum * 200 << endl;
return 0;
}
这里空空如也
有帮助,赞一个