题目链接
我的github
这题的题意有点难懂,我参考了别人才弄懂题意。。。
弄懂题意后还是挺好写的
传送门
我的python代码:
# -*- coding: utf-8 -*-
# @Time : 2019/6/11 19:31
# @Author : ValarMorghulis
# @File : 1056.py
def solve():
np, ng = map(int, input().split())
mice = list(map(int, input().split()))
a = list(map(int, input().split()))
ans = [0 for i in range(np)]
while len(a) > 1:
rank = len(a) // ng + 1
if len(a) % ng:
rank += 1
tmp = list()
num = 0
while num < len(a):
m, index, i = -1, 0, 0
while num < len(a):
if i < ng:
i += 1
ans[a[num]] = rank
if mice[a[num]] > m:
m = mice[a[num]]
index = a[num]
else:
break
num += 1
tmp.append(index)
a = tmp
ans[a[0]] = 1
print(*ans)
if __name__ == "__main__":
solve()
本文详细解析了一道起初让人困惑的算法题目,通过深入理解题意,最终用Python实现了解决方案。文章分享了从难题解读到代码实现的全过程,对于提升算法理解和编程实践能力具有一定的参考价值。
594

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



