题目描述
某大学的志愿者团队每个月都会去养老院为老人们理发。在需理发老人的名单中,志愿者得知有n位老人需要理发。根据惯例,应优先女性理发,且优先年龄最大的老人理发(不管年龄多大,只要是女性就会比男性优先理发)。请你根据名单中老人的性别和年龄,为志愿者排除最科学的理发顺序。
输入描述
第一行为需要理发老人的编号;
第二行为老人的性别,女性=1,男性=0;
第三行为老人的年龄n(n<=1<=100),用空格分隔;需要注意老人的性别和年龄按数字顺序是一一对应的。
输出描述
输出理发的顺序(即需要理发老人的编号,且每个老人编号用空格隔开)
样例输入
1 2 3 4 5
1 0 1 0 1
65 67 87 76 98
样例输出
5 3 1 4 2
思路
先把女性都找到,按女性年龄顺序排序,在把男性找到,按照男性年龄顺序排序,最后输出编号就好。
代码
#include <iostream>
#include <vector>
#include<algorithm>
using namespace std;
int main()
{
int num[999];
int sex[999];
int age[999];
//输入老人编号
int i = 0;
cin >> num[i++];
while (getchar<