题解 | #查找兄弟单词#
查找兄弟单词
https://www.nowcoder.com/practice/03ba8aeeef73400ca7a37a5f3370fe68
#include <algorithm>
#include <iostream>
#include <string>
#include <vector>
#include <set>
using namespace std;
int main() {
multiset<string>set_temp;
multiset<string>set_real;
string main_string;
int num=0;
int input_num=0;
int output_num=0;
cin>>num;
getchar();
for(int i=0;i<num;i++)
{
string temp;
cin>>temp;
getchar();
set_temp.insert(temp);
}
cin>>main_string;
getchar();
cin>>input_num;
getchar();
for(auto it:set_temp)
{
string temp1(main_string);
string temp2(it);
if((it==temp1)||it.size()!=temp1.size())
continue;
sort(temp1.begin(), temp1.end());
sort(temp2.begin(), temp2.end());
if(temp1==temp2)
{
set_real.insert(it);
output_num++;
}
}
int temp_num=0;
cout<<output_num<<endl;
for(auto it:set_real)
{
temp_num++;
if(temp_num==input_num)
{
cout<<it<<endl;
break;
}
}
}
// 64 位输出请用 printf("%lld")
查看16道真题和解析