Kattis 1dfroggerhard题目超时求助:多进程尝试出错求优化
Kattis 1dfroggerhard 超时与多进程错误问题
我在解决Kattis平台的1dfroggerhard题目时,代码运行超时。作为编程新手,我第一次尝试用multiprocessing做优化,但运行结果错误。我的代码如下:
from multiprocessing import Process def task(check_tiles, tiles, position, j): check_tiles.clear() for k in range(len(tiles)): check_tiles.append(0) magic = tiles[j] global wins while(True): if(tiles[position] == magic): wins += 1 break elif((position + tiles[position]) < 0): break elif((position + tiles[position]) > no_of_tiles - 1): break else: check_tiles[position] = 1 position += tiles[position] if(check_tiles[position] == 1): break no_of_tiles = input() no_of_tiles = int(no_of_tiles) wins = 0 tiles = [] check_tiles = [] str2 = input() tiles = str2.split(' ') tiles = [int(i) for i in tiles] for i in range(no_of_tiles): position = i processes = [Process(target=task(check_tiles, tiles, position, j), args=(j,)) for j in range(no_of_tiles)] for process in processes: process.start() print(wins)
我尝试对第一个for循环进行多进程处理,但得到的答案错误,希望获得缩短运行时间的建议。
内容的提问来源于stack exchange,提问作者AlexanderH
相关产品推荐
相关产品推荐

