田忌赛马
题目:
你队伍和另外一个队伍比赛,给你大家的能力值,pk大于+1分,等于不加分,小于-1分,求你们组的最大分
方法:贪心法
思路:其实就是田忌赛马的题,换了个应用场景而已,
分几种情况:
1.如果你的最快马大于另外队最快马,则比
2.如果你的最快马小于另外队最快马,则让你的最慢马跟他的最快马比较
3.如果你的最快马等于它的最快马,则开始比较最慢马,分两种情况
3.1 如果你的最慢马快于它的最慢马,则比较
3.2 如果你的最慢马小于等于它的最慢马,则用你的最慢马和它的最快马比较
代码:
public static void main(String[] args) {
List<Integer> list1 = new ArrayList<Integer>();
List<Integer> list2 = new ArrayList<Integer>();
Scanner in = new Scanner(System.in);
int n = in.nextInt();
boolean isLast = false;
for (int i = 0; i <n ; i++) {
list1.add(in.nextInt());
}
for (int i = 0; i <n ; i++) {
list2.add(in.nextInt());
}
Collections.sort(list1);
Collections.sort(list2);
int sum = 0;
int i=0,j=0,x=n-1,y=n-1;
while(!isLast){
if(i==x){
isLast=true;
}

这篇博客介绍了如何运用贪心策略解决类似田忌赛马的问题,以在团队比赛中获得最大分数。通过比较不同马的速度,确定最优匹配策略,确保在各个比赛环节中尽可能获得优势。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



