Форум программистов, компьютерный форум CyberForum.ru

Что такое перестановка ? - C++

Восстановить пароль Регистрация
 
TheAlpha
6 / 6 / 2
Регистрация: 03.01.2013
Сообщений: 116
18.09.2013, 21:36     Что такое перестановка ? #1
Всем доброго времени суток. Есть задача 'Школьник В*** записал на доске N чисел и утверждает, что это перестановка чисел 1, 2, ..N, то есть эти и только эти числа, записанные в каком-то порядке. Прав ли он?"

Выходные данные
Для каждого из M тестов выведите ответ в отдельную строку. Ответ "Yes" означает, что данная последовательность является перестановкой, а "No", что не является.

Пример

Ввод
3
4 1 3 2 2
4 4 1 3 2
4 1 2 3 3

Вывод
No
Yes
No

Вопрос, как определить, является ли строка перестановкой?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.09.2013, 21:36     Что такое перестановка ?
Посмотрите здесь:

что такое Void C++
что такое матрица? C++
C++ Что такое основы c++?
Что такое ' ' (апострофы) C++
C++ Что такое композиция?
Что такое треды? C++
C++ Что такое char* ?
C++ Что такое шаблоны в C++?
Что такое таблица в С++? C++
C++ Что такое nan?
Что такое Size_t C++
C++ Что такое чистый С++?

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lipnev
60 / 60 / 1
Регистрация: 14.09.2013
Сообщений: 145
18.09.2013, 21:49     Что такое перестановка ? #2
TheAlpha, если строка, содержит все элементы исходной строки и строки равны по размеру, но при этом порядок элементов другой - то эта строка будет являться перестановкой исходной строки.
OhMyGodSoLong
~ Эврика! ~
 Аватар для OhMyGodSoLong
1238 / 987 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
18.09.2013, 22:22     Что такое перестановка ? #3
Я что-то не могу придумать гарантированного правильно и быстро работающего алгоритма, кроме как отсортировать весь ввод и убедиться в том, что это арифметическая прогрессия, сравнив соседние элементы.
Yandex
Объявления
18.09.2013, 22:22     Что такое перестановка ?
Ответ Создать тему
Опции темы

Текущее время: 23:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru