Форум программистов, компьютерный форум, киберфорум
Наши страницы
Free Pascal
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
koloboksan
0 / 0 / 0
Регистрация: 28.03.2014
Сообщений: 4
1

Бинарные операции

28.03.2014, 19:01. Просмотров 536. Ответов 2
Метки нет (Все метки)

Помогите решить задачу:

Недавно Паша узнал, что во многих языках программирования есть бинарные операции «И»
и «ИЛИ». Операндами у таких операций являются целые числа. Для того, чтобы найти результат бинарной операции, каждый из операндов записывается в двоичном представлении. После чего
выполняется соответствующая логическая операция между битами на всех позициях. Если перевести полученное число обратно в десятичное представление, то будет получен результат выполнения
бинарной операции.
Можно рассмотреть пример вычисления результата операции «И»:
2710 AND 5110 = 0110112 AND 1100112 = 0100112 = 1910
Можно рассмотреть и пример с операцией «ИЛИ»:
2710 OR 5110 = 0110112 OR 1100112 = 1110112 = 5910
Паша записал некоторую перестановку чисел от 1 до N. Между каждой парой рядом стоящих
чисел он поставил знак некоторой операции — AND или OR. Как можно заметить, всего он поставил
N - 1 знак операции. После чего Паша выполнил все операции слева направо (про приоритеты
операций он пока ничего не знает) и получил некоторый результат.
Паша не помнит, какую именно перестановку он записал, но помнит точный порядок операций,
которые были записаны. Для того, чтобы вспомнить какую именно комбинацию он записал, Паша
просит Вас написать программу, которая определит для каждого возможного значения результата количество различных перестановок, для которых при последовательном выполнении операций
слева направо получится этот результат.
Формат входного файла
Первая строка входных данных содержит единственное число N — количество элементов в перестановке (2 <= N <=16).
Во второй строке входных данных задано N -1 символов, каждый из которых задает бинарную
операцию: «A» задает операцию побитового «И» (AND), а «O» — операцию побитового «ИЛИ» (OR).
Формат выходного файла
Для каждого возможного значения выражения требуется вывести количество различных пере-
становок операндов, при которых может быть получено такое значение в формате «Значение ==>
Количество способов» (без кавычек).
Выводить строки требуется в порядке возрастания значений. Значения с нулевым количеством
способов выводить не надо.
Смотрите приведенные примеры для большей ясности.
Ввод:
5
AAAO

Вывод:
1 ==> 24
2 ==> 24
3 ==> 24
4 ==> 24
5 ==> 24

Ввод:
6
AOAOO

Вывод:
3 ==> 36
5 ==> 36
6 ==> 36
7 ==> 612
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.03.2014, 19:01
Ответы с готовыми решениями:

Дано действительное число. Пользуясь только умножением, получить A^6 за три операции и A^7 за четыре операции
1. Дано действительное число A. Пользуясь только умножением, получить A6 за три операции и A7 за...

Бинарные деревья
Всем привет. Не хотелось просить помощи, но снова придется.... Есть задание: 1 построить дерево...

Бинарные включения
Здраствуйте, будте добры! Отсортировать двумерную матрицу методом бинарных включений.

Бинарные деревья.
Вопрос жизни и смерти...Есть задача: дано 2 файла в первом 150 атрибутов типа char, во втором 100...

Бинарные деревья. Найти количество узлов на n уровне
Коротко о программе. Дано бинарное дерево. Нужно нерекурсивно(через стеки) найти количество узлов...

2
Ромаха
235 / 127 / 27
Регистрация: 16.12.2012
Сообщений: 576
Записей в блоге: 1
Завершенные тесты: 1
28.03.2014, 23:50 2
Это неправильно просить решить задачу из идущей олимпиады.. Прошу не оказывать помощь ТС
тыц
1
Cyborg Drone
29.03.2014, 00:34     Бинарные операции
  #3

Не по теме:

Ваш интеллект не повысится с помощью нашего коллективного разума. Полагаю, у Вас всего лишь есть желание получить профит с помощью участников форума. Нехорошо использовать форум в корыстных целях, ещё и не поставив участников форума об этом в известность. Сами всё решайте. Иначе на что Вам эта олимпиада сдалась? Я в меру сил позабочусь о том, чтобы Вы не получили ни одного ответа на вопросы текущей олимпиады. Вот кончится олимпиада - тогда пожалуйста, на любой уже прошлый олимийский вопрос дадим ответ.

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.03.2014, 00:34
Привет! Вот еще темы с ответами:

Написать процедуру по теме "Бинарные деревья"
Доброго времени суток, СайберФорум. Пишет вам студент-персокурсник. Как и у всякого студента, в...

Операции на графе
var mat,a: array of longint; d: array of longint; n,k,x,y,l,t,i: longint; ...

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


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru