首先将
的每一对相邻两项求和,得到一个
数组。那么
数组的最大值减最小值即为
数组的权值。
例如,若
,那么
,
数组的极差是1。因此
数组的权值为1。
现在小美希望你能构造一个长度为排列是指一个长度为
一个正整数,代表排列的长度。
一个合法的排列。如果有多解输出任意即可。
3
2 1 3
这个数组的权值为 1。输出[2,3,1]等排列也是合法的。
import sys n = int(input()) m = n // 2 ans = [] for i in range(m): ans.append(i+1) ans.append(n - i) if n % 2: ans.append(m + 1) for i in ans: print(i, end=' ') else: for i in ans: print(i, end=' ')
def sol(n): arr = [i+1 for i in range(n)] arr.sort(reverse=True) ans = [] left,right = 0,n-1 while left<=right: if left == right: ans.append(arr[left]) break ans.append(arr[left]) ans.append(arr[right]) left += 1 right -=1 str_ans = ' '.join([str(x) for x in ans[::-1]]).strip() return str_ans while 1: try: n = int(input()) ans = sol(n) print(ans) except: break
import sys for line in sys.stdin: a = line.split() n = int(a[0]) res = [0 for i in range(n)] max_n = n min_n = 1 for i in range(1,n,2): res[i] = max_n max_n = max_n - 1 for i in range(0,n,2): res[i] = min_n min_n +=1 out = " ".join(str(r) for r in res) print(out)