Форум программистов, компьютерный форум, киберфорум
Комбинаторика
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
373 / 343 / 42
Регистрация: 14.07.2015
Сообщений: 2,890
1

Поменять местами все 1 и 0

12.01.2018, 21:27. Показов 1470. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
имеем 1111_0000, 9 разрядов с пробелом.
нужно поменять местами все 1 и 0. 1 ходят только вправо, нули влево. перепрыгивать можно только через одну цифру.
мне решение в голову не пришло, по моему задачу решить нельзя.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.01.2018, 21:27
Ответы с готовыми решениями:

Поменять местами значения массива так, чтобы сначала располагались все 0, затем все 1 и, наконец, все 2
В массиве каждый элемент равен 0, 1 или 2(размер массива не важен). Поменять местами значения...

Поменять местами все слова
Строка слов (ввели с клавы или задали вручную). Поменять местами все слова. Использовать как можно...

Поменять в массиве все элементы местами
Можно ли массив "перевернуть задом на перед":)? То есть поменять последний элемент с первым,...

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

10
141 / 90 / 13
Регистрация: 09.01.2018
Сообщений: 321
Записей в блоге: 2
12.01.2018, 22:02 2
а с пробелом что?
0
373 / 343 / 42
Регистрация: 14.07.2015
Сообщений: 2,890
12.01.2018, 22:38  [ТС] 3
перемещается на место перемещенной цифры

Добавлено через 19 минут
пример
1111_0000
11110_000
11101_000
11011_000
10111_000
01111_000
0111_1000
0111_0100
0111_0010
0111_0001
0
141 / 90 / 13
Регистрация: 09.01.2018
Сообщений: 321
Записей в блоге: 2
12.01.2018, 23:25 4
ну и двигай 1 вправо, а 0 на лево, в чем тут проблема? Препятствий же нет никаких.
0
373 / 343 / 42
Регистрация: 14.07.2015
Сообщений: 2,890
13.01.2018, 09:43  [ТС] 5
через 2 цифры поыгать нельзя

Добавлено через 2 часа 36 минут
Короче пример такой:
идет 4 барана по узкой трапинке, навстречу им идут еще 4 барана. Между ними расстояние в 1 баран. Прыгать назад они не могут, могут только идти вперед и прыгать на свободное место через 1го барана. Прошлый мой пример некорректен.

Добавлено через 5 минут
1111_0000
111_10000
11101_000
111010_00
1110_0100
11100_100
1110001_0
11100010_
111000_01
вот корректный пример перевода 1 барана на другую сторону

Добавлено через 8 минут
111000_01
1110_0001
11_010001
1_1010001
101_10001
10_110001
_01110001
0_1110001
перевел двух баранов. Вроде правильно.

Добавлено через 18 минут
Перевод 2 барана опять неправильный...сдвинул нули вправо
0
Диссидент
Эксперт C
27709 / 17325 / 3811
Регистрация: 24.12.2010
Сообщений: 38,979
13.01.2018, 12:17 6
Имхо, надо искать инварианты...
0
141 / 90 / 13
Регистрация: 09.01.2018
Сообщений: 321
Записей в блоге: 2
13.01.2018, 13:33 7
А если упростить задачу - уменьшить количество баранов. Что получим?
0
Диссидент
Эксперт C
27709 / 17325 / 3811
Регистрация: 24.12.2010
Сообщений: 38,979
13.01.2018, 14:57 8
1+1 баран благополучно расходятся. Но уже 2 + 2, кажется, получается тупик
0
141 / 90 / 13
Регистрация: 09.01.2018
Сообщений: 321
Записей в блоге: 2
13.01.2018, 19:25 9
Если 2 + 2:
11_00
1_100
101_0
10_10
10_01
_0101
0_101
001_1
00_11

Добавлено через 4 минуты
хотя есть ошибка, блин

Добавлено через 1 минуту
пробелов не хватает

Добавлено через 1 час 27 минут
11_00
1_100
101_0
1010_
10_01
_0101
0_101
001_1
00_11

Вот правильный для 2 пар
1
373 / 343 / 42
Регистрация: 14.07.2015
Сообщений: 2,890
13.01.2018, 19:34  [ТС] 10
с 2 баранами все ок, но у меня задача с 4мя стоит.
0
141 / 90 / 13
Регистрация: 09.01.2018
Сообщений: 321
Записей в блоге: 2
13.01.2018, 22:40 11
Лучший ответ Сообщение было отмечено bobah16 как решение

Решение

Цитата Сообщение от bobah16 Посмотреть сообщение
с 2 баранами все ок, но у меня задача с 4мя стоит.
Понятно, тут главное паттерн найти:

Вот уже пары по 3 есть ответ:

111_000
11_1000
1101_00
11010_0
110_010
1_01010
_101010
01_1010
0101_10
010101_
01010_1
010_011
0_01011
00_1011
0001_11
000_111

Добавлено через 11 минут
Цитата Сообщение от bobah16 Посмотреть сообщение
с 2 баранами все ок, но у меня задача с 4мя стоит.
А вот твой вариант найден

1111_0000
111_10000
11101_000
111010_00
1110_0100
11_010100
1_1010100
101_10100
10101_100
1010101_0
10101010_
101010_01
1010_0101
10_010101
_01010101
0_1010101
001_10101
00101_101
0010101_1
001010_11
0010_0111
00_010111
000_10111
00001_111
0000_1111

Так можно продолжать и для 5,6,7,8 и т.д. пар овец

Добавлено через 12 минут
Аплодисменты?

Добавлено через 2 часа 40 минут
Если хотите можно и для 5:

11111_00000
1111_100000
111101_0000
1111010_000
11110_01000
111_0101000
11_10101000
1101_101000
110101_1000
11010101_00
110101010_0
1101010_010
11010_01010
110_0101010
1_010101010
_1010101010
01_10101010
0101_101010
010101_1010
01010101_10
0101010101_
010101010_1
0101010_011
01010_01011
010_0101011
0_010101011
00_10101011
0001_101011
000101_1011
00010101_11
0001010_111
00010_01111
000_0101111
0000_101111
000001_1111
00000_11111
1
13.01.2018, 22:40
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.01.2018, 22:40
Помогаю со студенческими работами здесь

Список: Необходимо все соседние элементы поменять местами
Дан список, из случайных значений. Необходимо все соседние элементы поменять местами. Исходное а1...

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

Поменять местами все четные и нечетные строки матрицы
Дана матрица размером N строк и M столбцов. Поменять местами все четные и нечетные строки матрицы.

Если первый и последний элементы списка чётные - то поменять их местами. Иначе поменять местами голову и хвост списка
Дан список. Если первый и последний элементы списка чётные - то поменять их местами. Иначе поменять...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru