1 条题解
-
0
大白话思路
把男女分别收集并排序,男生按身高从小到大输出,女生按身高从大到小输出。保持两位小数,注意组间空格与浮点表示。时间 O(n log n),空间 O(n)。
C++17 标准解
#include<iostream> #include<cstdio> #include<cstring> using namespace std; int main() { int n; double d; char s[20]; double a[50],b[50]; int p=0,q=0; double temp; int i,j; cin>>n; for(i=0;i<n;i++) { cin>>s>>d; if(strcmp(s,"male")==0) a[p++]=d; else b[q++]=d; } for(i=0;i<p;i++) for(j=i+1;j<p;j++) if(a[i]>a[j]) { temp=a[i]; a[i]=a[j]; a[j]=temp; } for(i=0;i<q;i++) for(j=i+1;j<q;j++) if(b[i]<b[j]) { temp=b[i]; b[i]=b[j]; b[j]=temp; } for(i=0;i<p;i++) printf("%.2lf ",a[i]); for(i=0;i<q;i++) printf("%.2lf ",b[i]); return 0; }来源:HEEKDragonOne/ACM,一本通 1182;固定提交 29b5b378f6257c2d9ba99452d0f5b770a26c826c。仅赛后开放。
信息
- ID
- 1006
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 8
- 标签
- 递交数
- 23
- 已通过
- 6
- 上传者
