7-38 寻找大富翁 (25 分)

注意:N有可能比M小
思路:使用选择排序或者冒泡排序,遍历M趟,一边遍历,一边输出。

#include<bits/stdc++.h>
using namespace std;
const int maxn=1e6+5;
int arr[maxn];
int main(){
	int n,m;
	scanf("%d%d",&n,&m);
	for(int i=0;i<n;i++){
		scanf("%d",arr+i);
	}
	int Mi;
	int shr=min(m,n);
	for(int i=0;i<shr;i++){
		Mi=i;
		for(int j=i+1;j<n;j++){
			if(arr[Mi]<arr[j]){
				Mi=j;
			}
		}
		if(i!=shr-1) printf("%d ",arr[Mi]);
		else printf("%d\n",arr[Mi]);
		arr[i]^=arr[Mi];
		arr[Mi]^=arr[i];
		arr[i]^=arr[Mi];
	}
	return 0;
}
全部评论

相关推荐

码砖:求职岗位要突出,一眼就能看到,教育背景放到最后,学校经历没那么重要,项目要重点突出
点赞 评论 收藏
分享
07-24 12:30
湘潭大学 营销
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务