tyvjP1082找朋友
描述 Description | ||
童年的我们,对各种事物充满了好奇与向往。这天,小朋友们对数字产生了兴趣,并且想和数字交朋友。可是,怎么分配这些数字才能使得每个小朋友都唯一地找到一个数字朋友呢?C小朋友说:咱们按自己名字的字典序先后,依次选择一个剩余的最小的数字当朋友。好么?Q小朋友十分赞同。于是,大家都同意了。 |
输入格式 Input Format | |||
第一行为一个数n,为小朋友数和数字数。 下面n行为小朋友们的名字。 再下面n行为候选的n个数字。 |
输出格式 Output Format | |||
n行,按字典序输出n个小朋友姓名及所选的数字朋友。 |
分析:关键是完成字典排序,这个只需重载快排函数中的比较函数就ok了。然后对两个数组分别快排。
代码
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
string s[10000];
long long num[10000];
bool compare(string a, string b)
{
return a < b;
}
int main()
{
int N = 0;
cin >> N;
int i = 0;
for (; i < N; ++i)
{
cin >> s[i];
}
for (i = 0; i < N; ++i)
{
cin >> num[i];
}
sort(s,s+N,compare);
sort(num, num+N);
for (i = 0; i < N; ++i)
{
cout << s[i] << " " << num[i] << endl;
}
}