微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

确定每场比赛的最低分数

如何解决确定每场比赛的最低分数

有T1和T2两队在打一场比赛。两队都有N个队员。T1队员的力量用一个数组表示,T2队员也一样。

游戏规则如下:

1.只有N次战斗。

2.任何球队的球员都不能打两次

3.对于从 (P1 + P2)%N 生成的每场战斗得分,P1 代表 T1 的力量。类似 P2

T2 知道 T1 的顺序发送他们的玩家去玩 T2 想要在每场比赛中获得最低分数的游戏。

您的任务是确定 T2 发送玩家的顺序,以便他们在每场比赛中获得最低分数

您需要打印每轮和 T2 其他玩家的得分。

N=3
T1=[1,2,3]
T2=[2,1]
Output:[0,0]

N=4
T1=[0,1,1]
T2=[3,1]
output:[1,2]

解释案例 1 N=3: [(1+2)%3,(2+1)%3,(3+0)%3]

这个问题的最佳解决方案是什么?

一种方法是与 T1 一一检查功率。

解决方法

这不是一个完整的答案,但这是我的想法。有更多有趣的例子可以帮助发展这个想法。

对数组进行排序,一个降序,一个升序:

N=4
T1=[0,1,2,1]
T2=[3,1]

0 1 1 2
3 2 1 1

现在使用指针来“移动”对齐方式,同时为当前的升序目标余数维护一个变量。

Target remainder 0
0 1 1 2
3 2 1 1
^
useless,shift pointer right
  
0 1 1 2
  3 2 1 1
    ^
    useless,shift pointer right
    
0 1 1 2
  3   2 1 1

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。