HDU1031 Design T-Shirt (二级排序)
2014-05-04 16:05
411 查看
二级排序,快排
#include<stdio.h> #include<string.h> double a[10010]; int b[10010]; void quicksort(double a[],int low,int high) { int i=low; int j=high; double temp=a[i]; int temp2=b[i]; if(i<j) { while(i<j) { while(a[j]<=temp&&i<j) j--; a[i]=a[j]; b[i]=b[j]; while(a[i]>=temp&&i<j) i++; a[j]=a[i]; b[j]=b[i]; } a[i]=temp; b[i]=temp2; quicksort(a,low,i-1); quicksort(a,j+1,high); } else return; } void quicksort2(int b[],int low,int high) { int i=low; int j=high; int temp=b[i]; if(i<j) { while(i<j) { while(b[j]<=temp&&i<j) j--; b[i]=b[j]; while(b[i]>=temp&&i<j) i++; b[j]=b[i]; } b[i]=temp; quicksort2(b,low,i-1); quicksort2(b,j+1,high); } else return; } int main() { int n,m,k; double temp; while(scanf("%d %d %d",&n,&m,&k)!=EOF) { memset(a,0,sizeof(a)); memset(b,0,sizeof(b)); for(int i=0;i<n;i++) for(int j=0;j<m;j++) { scanf("%lf",&temp); a[j]+=temp; } for(int i=0;i<m;i++) b[i]=i+1; quicksort(a,0,m-1); quicksort2(b,0,k-1); printf("%d",b[0]); for(int i=1;i<k;i++) printf(" %d",b[i]); printf("\n"); } }
相关文章推荐
- HDU 1031 Design T-Shirt【排序】
- HDU 1031 Design T-Shirt(结构体排序)
- HDU1031——Design T-Shirt(结构体排序)
- HDU 1031 Design T-Shirt(结构体2级排序)
- HDU 1031 Design T-Shirt 模拟 水题
- HDU-1031-Design T-Shirt
- zoj 2511 & hdu 1031 Design T-Shirt
- hdu 1031 Design T-Shirt
- 杭电 HDU 1031 Design T-Shirt
- hdu 1031 Design T-Shirt
- hdu 1031 Design T-Shirt
- HDU 1031 Design T-Shirt
- hdu1031 Design T-Shirt
- HDU 1031 Design T-Shirt
- HDU 1031 Design T-Shirt
- HDU 1031 - Design T-Shirt
- hdu_1031_Design T-Shirt(模拟)
- hdu1031 Design T-Shirt 解题报告 sort的使用
- HDU 1031 Design T-Shirt(水~)
- HDU:1031 Design T-Shirt