Предмет: Информатика,
автор: Трафальгар
На с++(с комментариями)
Максимальное время работы на одном тесте: 1 секунда
На день рождения Пете подарили набор карточек с буквами. Теперь Петя с большим интересом составляет из них разные слова. И вот, однажды, составив очередное слово, Петя заинтересоваля вопросом: "А сколько различных слов можно составить из тех же карточек, что и данное?". Помогите ему ответить на этот вопрос.
Входные данные
Вводится слово, составленное Петей – строка из маленьких латинских букв не длиннее 15 символов.
Выходные данные
Выведите одно целое число – искомое количество слов.
Примеры
входные данные
solo
выходные данные
12
Ответы
Автор ответа:
0
string line; getline(cin,line); //Можно и просто через cin..даже наверное лучше в данном случае именно через cin;
int count = 0;
sort(line.begin(),line.end());
do{
count++;
}while(next_permutation(line.begin(), line.end()));
cout<<count;
system("pause");
Где next_permutation - перебор всевозможных вариантов или делать, пока возможна перестановка.
sort() - функция сортировки. Так же есть более медленный qsort.
int count = 0;
sort(line.begin(),line.end());
do{
count++;
}while(next_permutation(line.begin(), line.end()));
cout<<count;
system("pause");
Где next_permutation - перебор всевозможных вариантов или делать, пока возможна перестановка.
sort() - функция сортировки. Так же есть более медленный qsort.
Трафальгар:
а вы не могли бы написать программу с самого начала? а не только фрагмент программы?
а в чем трудность заключить ее в main() { .. } и подключить нужные библиотеки ?
Похожие вопросы
Предмет: Алгебра,
автор: kalasnikovaulana69
Предмет: Алгебра,
автор: Аноним
Предмет: Право,
автор: dolgihvera652
Предмет: Математика,
автор: Duana9
Предмет: Литература,
автор: RaliSh12894