如何解决确定每场比赛的最低分数
有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 举报,一经查实,本站将立刻删除。