Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

C++ задача на pair

Дельфи Гонт Ученик (136), открыт 6 часов назад
Напишите код для решения:

Текст Т из {слово}
Дано слово S
Сколько в Т слов, которые можно получить перестановкой букв в S?

Обязательно
Т = vector<string>
S = string
с помощью pair
1 ответ
Cogni Просветленный (40058) 6 часов назад
 #include <iostream> 
#include <vector>
#include <string>
#include <algorithm>
#include <utility>

int countAnagrams(const std::vector<std::string>& T, const std::string& S) {
std::string sortedS = S;
std::sort(sortedS.begin(), sortedS.end());
int count = 0;

for (const auto& word : T) {
std::pair<std::string, std::string> p = {word, word};
std::sort(p.second.begin(), p.second.end());
if (p.second == sortedS) count++;
}

return count;
}

int main() {
std::vector<std::string> T = {"listen", "silent", "enlist", "google", "inlets", "banana"};
std::string S = "listen";
std::cout << "Количество анаграмм: " << countAnagrams(T, S) << std::endl;
return 0;
}
Похожие вопросы