profile
Размещено 4 года назад по предмету Информатика от anonymazer3

D4. Разбиение на невозрастающие слагаемые, лексикографический порядок
Ограничение времени 1 секунда
Ограничение памяти 64Mb
Ввод стандартный ввод или input.txt
Вывод стандартный вывод или output.txt
Дано натуральное число N. Рассмотрим его разбиение на натуральные слагаемые. Два разбиения, отличающихся только порядком слагаемых, будем считать за одно, поэтому можно считать, что слагаемые в разбиении упорядочены по невозрастанию.

Формат ввода
Задано единственное число N. (N ≤ 40)

Формат вывода
Необходимо вывести все разбиения числа N на натуральные слагаемые в лексикографическом порядке.

  1. Ответ на вопрос
    Ответ на вопрос дан LymarIvan

    На самом деле изначально здесь была другая задача. Вот ее условие:

    C4. Построить из строки следующую анаграмму

    Ограничение времени    1 секунда

    Ограничение памяти    64Mb

    Ввод    стандартный ввод или input.txt

    Вывод    стандартный вывод или output.txt

    Для данного слова (последовательности строчных латинских букв) выведите следующее за ним (в лексикографическом порядке) слово, которое может быть получено из данного перестановкой букв (анаграмму). Если данное слово уже является последним среди всех своих анаграмм, то необходимо вывести первую возможную (в лексикографическом порядке) анаграмму.

    Формат ввода

    Задана последовательность слов, по одному слову в строке. Длина одного слова не превышает 50 символов.

    Формат вывода

    Необходимо вывести результат для каждого полученного на вход слова.

    Ниже программный код:

    #include <iostream>

    #include <string>

    #include <algorithm>

    using namespace std;

    int main() {

       string word;

       char for_sort[51];

       int count_for_sort, min_def, min_def_index;

       while (cin >> word) {

           count_for_sort = 0;

           min_def = 98;

           min_def_index = 51;

           for (int i = word.size() - 1; i >= 0; i--) {

               for_sort[count_for_sort] = word[i];

               count_for_sort++;

               if (word[i] < word[i + 1])

                   break;

           }

           int shift = 0;

           if (word[word.size() - count_for_sort] < word[word.size() - count_for_sort + 1]) {

               for (int i = 0; i < count_for_sort; i++)

                   if (for_sort[i] - word[word.size() - count_for_sort] > 0 &&

                       for_sort[i] - word[word.size() - count_for_sort] < min_def) {

                       min_def = for_sort[i] - word[word.size() - count_for_sort];

                       min_def_index = i;

                   }

               swap(for_sort[0], for_sort[min_def_index]);

               shift = 1;

           }

           sort(for_sort + shift, for_sort + count_for_sort);

           for (int i = word.size() - count_for_sort; i < word.size(); i++)

               word[i] = for_sort[i - word.size() + count_for_sort)];

           cout << word << endl;

           word.clear();

       }

       return 0;

    }

    1. Ответ на вопрос
      Ответ на вопрос дан anonymazer3
      спасибо
Не тот ответ на вопрос, который вам нужен?
Найди верный ответ
Самые новые вопросы
tegysigalpa2012
Русский язык - 6 лет назад

Помогите решить тест по русскому языку тест по русскому языку «местоимение. разряды местоимений» для 6 класса 1. укажите личное местоимение: 1) некто 2) вас 3) ни с кем 4) собой 2. укажите относительное местоимение: 1) кто-либо 2) некоторый 3) кто 4) нам 3. укажите вопросительное местоимение: 1) кем-нибудь 2) кем 3) себе 4) никакой 4. укажите определительное местоимение: 1) наш 2) который 3) некий 4) каждый 5. укажите возвратное местоимение: 1) свой 2) чей 3) сам 4) себя 6. найдите указательное местоимение: 1) твой 2) какой 3) тот 4) их 7. найдите притяжательное местоимение: 1) самый 2) моего 3) иной 4) ничей 8. укажите неопределённое местоимение: 1) весь 2) какой-нибудь 3) любой 4) этот 9. укажите вопросительное местоимение: 1) сколько 2) кое-что 3) она 4) нами 10. в каком варианте ответа выделенное слово является притяжательным местоимением? 1) увидел их 2) её нет дома 3) её тетрадь 4) их не спросили

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.