欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

(算法练习)——特殊排序

程序员文章站 2024-03-22 17:24:22
...

要求:
http://codeup.cn/problem.php?cid=100000581&pid=1
说明:
依然是用一次sort,只不过输出不同
代码:

#include <stdio.h>
#include <algorithm>
using namespace std;

struct code{
	int m;
	int record[1010];
}numrecord[1010];

int main(){
	int n;
	int signal = 0;
	int linshi[1010];
	while(scanf("%d",&n) != EOF){
		getchar();
		for(int i = 0;i <n;i++){
			scanf("%d",&linshi[i]); 
		}
		numrecord[signal].m = n;
		sort(linshi,linshi+n);
		for(int i = 0;i <n;i++){
			numrecord[signal].record[i] = linshi[i];
		}
		signal++;
	}
	for(int i = 0;i <signal;i++){
		if(numrecord[i].m == 1){
			printf("%d\n-1",numrecord[i].record[0]);
		}
		else{
			int t = numrecord[i].m -1;
			printf("%d\n",numrecord[i].record[t]);
			for(int q = 0;q <t;q++){
				printf("%d ",numrecord[i].record[q]);
			}
		}
		printf("\n");
	}
}