bzoj#P3580. 冒泡排序
冒泡排序
题目描述
下面是一段实现冒泡排序算法的 C++
代码:
for(int i=1;i<n;i++)
for(int j=1;j<=n-i;j++)
if(a[j]>a[j+1])
swap(a[j],a[j+1]);
其中待排序的 数组是一个 的排列,swap
函数将交换数组中对应位置的值。
对于给定的数组 以及给定的非负整数 ,使用这段代码执行了正好 次 swap
操作之后数组 中元素的值会是什么样的呢?
输入格式
输入文件共两行。
第一行包含空格隔开的一个正整数 和一个非负整数 。
第二行包含 个空格隔开的互不相同的正整数,表示初始时 数组中的排列。
输出格式
输出文件共一行。
若在执行完整个代码之后执行 swap
的次数仍不够 ,那么输出一个字符串 Impossible!
(不含引号),否则按顺序输出执行 swap
操作 次之后数组 的每一个元素,用空格隔开。
1 1
1
Impossible!
数据规模与约定
对于 的数据满足 ,。
题目来源
By 佚名提供