# -*- coding: UTF-8 -*-
__author__ = 'zy'
__time__ = '2019/3/10 19:38'
def cal(p_line, local, point, road):
# 此时的位置索引local = 1 #index=local
index_local = 999999
for i, j in enumerate(p_line): # i为索引
if i not in point:
if abs(j - p_line[local]) < index_local:
index_local = abs(j - p_line[local])
index = i
road = road + abs(local - p_line[index])
point.append(index)
local = index # 此时的位置索引
return [point, local, road]
def problem1(points,local,p_line):
index=None
index_local=999999
road=0
for i,j in enumerate(p_line):#i为索引
if abs(j-local)<index_local:
index_local=abs(j-local)
index=i
# if abs(j - local) == index_local:
# index_local = abs(j - local)
# temp=index
# if p_line[0:temp]>p_line[temp:]:
# index = {temp,i}
point=[]
road=road+abs(local-p_line[index])
point.append(index) #p_line, local, point, road [point, local, road]
local=index#此时的位置索引
for k in range(1, points-1):
result=cal(p_line,local,point,road)
point=result[0]
local=result[1]
road=result[2]
return road
import sys
if __name__=="__main__":
n=(sys.stdin.readline().strip())
n=n.split()
#m=int(sys.stdin.readline().strip())
line=sys.stdin.readline().strip()
line=line.split()
line = list(map(int, line))
print(problem1(int(n[0]),int(n[1]),line))
# -*- coding: UTF-8 -*-
__author__ = 'zy'
__time__ = '2019/3/10 21:02'
import sys
def problem3(n):
n=int(n)
L=list(range(1,n+1))
result=[]
for i in range(n-1):
if len(L)>1:
result.append(L[0])
L.pop(0)
if len(L) > 1:
L.append(L[0])
L.pop(0)
if len(L) == 1:
result.append(L[0])
return (result)
if __name__=='__main__':
line = sys.stdin.readline().strip('\n') # 去掉换行符"\n"
a=line
result=problem3(a)
for i in result:
print(i, end=' ') # 以空格为分隔符
研究腾讯的代码提交方法研究了好一会儿,哎,最后还没提交上,python做算法还是没有C++用着舒服....