作业抄的有点狠了,为了改过自新,所以准备退役(bushi)。
题目大家都看懂了吧,就是给你一串小数,让你给它们排序,然后按男生女生输出。其实知识点就是一个结构体排序啊,而且也没有什么坑点......因为数据比较水,所以没有写得那么严谨(
代码很简单:
#include <bits/stdc++.h>
using namespace std;
struct node {int n; double s;}b[10005];
bool cmp(node a,node b) { return a.s < b.s; }
int main() {
int T, n;cin >> T;
while(T --) {
cin >> n;
for(register int i = 1;i <= n;i ++) cin >> b[i].n;
for(register int i = 1;i <= n;i ++) scanf("%lf", &b[i].s);
sort(b + 1,b + n + 1, cmp);
for(register int i = 1;i <= n;i ++) { //女生
if(!b[i].n) cout << b[i].s << ' ';
}cout << endl;
for(register int i = 1;i <= n;i ++) { //男生
if(b[i].n) cout << b[i].s << ' ';
}
}
return 0;
}