列表

详情


NC217237. 不讲武德

描述

马掌门在研究阴阳互相转化的过程中发明了一种有趣的排序算法,他将这种排序算法命名为混元形意排序法。如果我们用C++实现该算法,可以得到以下的代码。

#define N 100009 int tmp[N]; void change(int arr[], int begin, int end) {     if (begin >= end)         return;     int mid = (begin + end) / 2, size = 0;     for (int i = mid + 1; i <= end; ++i)         tmp[++size] = arr[i];     for (int i = begin; i <= mid; ++i)         tmp[++size] = arr[i];     for (int i = 0; i < size; ++i)         arr[i + begin] = tmp[i + 1]; }  void sort(int arr[], int begin, int end) {     if (begin >= end)         return;     int mid = (begin + end) / 2;     sort(arr, begin, mid);     sort(arr, mid + 1, end);     if (arr[begin] > arr[mid + 1])         change(arr, begin, end); }
你知道这个算法是错误的,所以你说这个没用,但是他说这个有用,还要让你试试。
他会告诉你一个数字,让你构造一个相应长度的数列给他排序,如果排序完毕后数列中的数不是从小到大排列的,他就会说他大意了,否则他会说他全防出去了,并且一拳打在你鼻子上。
你当然不想被他一拳打在鼻子上,所以你要构造一个数列让他的排序算法出错。

输入描述

输入共一行,一个整数 ,表示你需要构造的数列长度为 。我们保证对于所有的输入数据均能构造出满足要求的数列。

输出描述

在一行中输出这个数列,相邻元素以空格隔开。数列中元素必须为不超过  的自然数。

示例1

输入:

5

输出:

7 5 10 2 9

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

C++(clang++11) 解法, 执行用时: 3ms, 内存消耗: 408K, 提交时间: 2021-01-16 22:20:33

#include<bits/stdc++.h>
using namespace std;
int main(){
	int n;
	cin>>n;
	for(int i=1;i<=n;i++)
		cout<<rand()%1000000<<" ";
}

Python3(3.9) 解法, 执行用时: 21ms, 内存消耗: 2868K, 提交时间: 2021-01-22 20:42:01

x=input().split('\x005')[0]
while x[-1] not in "0123456789":
    x=x[:-2]
n=int(x)
print("1 3 2 "+"4 "*(n-3))

上一题