20:查找兄弟单词

输入描述:
先输入字典中单词的个数,再输入n个单词作为字典单词。
输入一个单词,查找其在字典中兄弟单词的个数
再输入数字n

输出描述:
根据输入,输出查找到的兄弟单词的个数

#include <cstdio> 
#include <string> 
#include <vector> 
#include <iostream> 
#include <algorithm> 
using namespace std; 
vector<string> dict; 
bool is_friend(string a, string b) { 
if (a == b) return false; 
sort(a.begin(), a.end()); 
sort(b.begin(), b.end()); 
return a == b; 
} 

int main() { 
int n; 
while (scanf("%d", &n) == 1) { 
dict.clear(); 
for (int i = 0; i < n; i++) { 
string s; 
cin >> s; 
dict.push_back(s); 
} 
sort(dict.begin(), dict.end()); 
string ask; 
cin >> ask; 
int id; 
scanf("%d", &id); 
int cnt = 0; 
string res = ""; 
for (int i = 0; i < (int)dict.size(); i++) { 
if (is_friend(dict[i], ask)) { 
cnt++; 
if (cnt == id) { 
res = dict[i]; 
} 
} 
} 
printf("%d\n", cnt); 
if (cnt >= id) 
printf("%s\n", res.c_str()); 
} 
return 0;
}


 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值