Problem Description
HOJ is an online judge system for students in HIT to practice. As the administrator, you would always setup contests by selecting problems from the problem set. Problem IDs are integers that can be phased by url. For example, the corresponding problem ID of url http://acm.hit.edu.cn/problemset/1001 is 1001.
Now the task is, given n urls, print the smallest k problem IDs in increasing order.
Input
The first line of the input contains one integer T (1 ≤ T ≤ 10), indicating the number of test cases.
For each test case, the first line contains two integers, n (1 ≤ n ≤ 1000) and k (1 ≤ k ≤ n).
For the next n lines,each line contains a string indicating the problem’s url. The problem ID is guaranteed to be in range [1,10000] and unique in each case.
Output
Output T lines.
For each test case, you should output k numbers in a line, and there shouldn’t be any spaces at the end of the line.
Sample Input
2 3 2
http://acm.hit.edu.cn/problemset/1003
http://acm.hit.edu.cn/problemset/1002
http://acm.hit.edu.cn/problemset/100
1 4 1
http://acm.hit.edu.cn/problemset/1001
http://acm.hit.edu.cn/problemset/2001
http://acm.hit.edu.cn/problemset/3001
http://acm.hit.edu.cn/problemset/501
Sample Output
1001 1002
501
思路:将每个网址的最后一个‘/’后的数字提取,进行排序后按要求输出即可
AC代码
#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
int a[1010];
string s;
int main()
{
int n,k,t;
cin>>t;
while(t--)
{
cin>>n>>k;
for(int i=0;i<n;i++)
{
cin>>s;
for(int j=s.size()-1;j>=0;j--)
if(s[j]=='/')
{
int t=0;
for(int k=j+1;k<s.size();k++)
t=t*10+s[k]-'0';
a[i]=t;
break;
}
}
sort(a,a+n);
printf("%d",a[0]);
for(int i=1;i<k;i++)
printf(" %d",a[i]);
puts("");
}
}