题解 P5412 【[YNOI2019]排队】
真正意义上的一道水题,感觉只有PJ减
注意一定要用cin>>和cout<<不然直接会WA掉我也不知道为啥
看完题,当然想到用两个数组分别存男女生,sort之后输出就行了
不多说,直接上代码
#include<bits/stdc++.h>
using namespace std;
bool a[10010];
double b1[10010],b2[10010];//b1是男生,b2是女生
int main()
{
int T;
cin>>T;
while(T--)//T个查询
{
int n;
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a[i];//读入男女
}
int cnt1=1,cnt2=1;
for(int i=1;i<=n;i++)
{
double cnt3;
cin>>cnt3;
if(a[i]==1)//如果是男生
{
b1[cnt1]=cnt3;//读入的直接进入数组
cnt1++;
}
else //女生
{
b2[cnt2]=cnt3;
cnt2++;
}
}
sort(b1+1,b1+1+cnt1);//排序
sort(b2+1,b2+1+cnt2);//同上
for(int i=1;i<=cnt2;i++)//输出
{
if(b2[i]!=0)
cout<<b2[i]<<" ";
}
cout<<endl;
for(int i=1;i<=cnt1;i++)//输出
{
if(b1[i]!=0)
cout<<b1[i]<<" ";
}
cout<<endl;
}
}
注:比较蒟蒻,要喷就喷轻点