描述
童年的我们,对各种事物充满了好奇与向往。这天,小朋友们对数字产生了兴趣,并且想和数字交朋友。可是,怎么分配这些数字才能使得每个小朋友都唯一地找到一个数字朋友呢?C小朋友说:咱们按自己名字的字典序先后,依次选择一个剩余的最小的数字当朋友。好么?Q小朋友十分赞同。于是,大家都同意了。
输入格式
第一行为一个数n,为小朋友数和数字数。
下面n行为小朋友们的名字。
再下面n行为候选的n个数字。
下面n行为小朋友们的名字。
再下面n行为候选的n个数字。
输出格式
n行,按字典序输出n个小朋友姓名及所选的数字朋友。
测试样例1
输入
5
src
oldway
claire
whqsdhr
ylq
89757
20091111
130203
8000800
1008611
输出
claire 89757
oldway 130203
src 1008611
whqsdhr 8000800
ylq 20091111
备注
100%的数据满足:1<=n<=10000,每个数字均不超过1 500 000 000 (1.5*10^9)
简单的模拟题,需要想到用string数组,然后直接调用STL库的sort进行快排就可以AC了,不过这个版本的模拟速度非常慢QAQ
1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<algorithm> 5 using namespace std; 6 int n,a[10005]; 7 string ch[10005]; 8 int main() 9 { 10 cin>>n; 11 for(int i=1;i<=n;i++)cin>>ch[i]; 12 for(int i=1;i<=n;i++)scanf("%d",&a[i]); 13 sort(ch+1,ch+1+n); 14 sort(a+1,a+1+n); 15 for(int i=1;i<=n;i++) 16 { 17 cout<<ch[i]<<" "<<a[i]; 18 puts(""); 19 } 20 return 0; 21 }