Задать вопрос
24 октября, 00:40

На с + + (с комментариями)

Максимальное время работы на одном тесте: 1 секунда

На день рождения Пете подарили набор карточек с буквами. Теперь Петя с большим интересом составляет из них разные слова. И вот, однажды, составив очередное слово, Петя заинтересоваля вопросом: "А сколько различных слов можно составить из тех же карточек, что и данное?". Помогите ему ответить на этот вопрос.

Входные данные

Вводится слово, составленное Петей - строка из маленьких латинских букв не длиннее 15 символов.

Выходные данные

Выведите одно целое число - искомое количество слов.

Примеры

входные данные

solo

выходные данные

12

+2
Ответы (1)
  1. 24 октября, 02:20
    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<
    system ("pause") ;

    Где next_permutation - перебор всевозможных вариантов или делать, пока возможна перестановка.

    sort () - функция сортировки. Так же есть более медленный qsort.
Знаете ответ на вопрос?
Не уверены в ответе?
Правильный ответ на вопрос 👍 «На с + + (с комментариями) Максимальное время работы на одном тесте: 1 секунда На день рождения Пете подарили набор карточек с буквами. ...» по предмету 📗 Информатика. Развернутая система поиска нашего сайта обязательно приведёт вас к нужной информации. Как вариант - оцените ответы на похожие вопросы. Но если вдруг и это не помогло - задавайте свой вопрос знающим оппонентам, которые быстро дадут на него ответ!
Искать готовые ответы