Решение лабораторных, контрольных и т.д. на С++

  • Автор темы Автор темы European
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.
немогли бы алгоритм написать.
 
погугли.
 
Помогите с прогой плз!

Задача B. Книга

Имя входного файла: b.in
Имя выходного файла: b.out
Максимальное время работы на одном тесте: 1 секунда
Максимальный объем используемой памяти: 64 мегабайта

Оргкомитет Московской олимпиады по информатике решил издать книгу с решениями олимпиадных задач сразу на двух языках - на Паскале и на Си. При этом тексты решений на Паскале решили напечатать с одной стороны книги, а на Си - с другой стороны. Таким образом книгу стало можно читать как с начала, так и с конца, предварительно ее перевернув.

Тексты решений на Паскале заняли N первых страниц, которые пронумеровали от 1 до N. А тексты на Си - M последних страниц, которые пронумеровали числами от 0 (последняя страница) до M-1.

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

Например, если N=5 и M=3 страницы книги идут в следующем порядке. Сначала страницы решений на Паскале: 1 2 3 4 5, затем - страницы решений на Си - 2 1 0. Здесь на первый лист попадают страницы номер 1 и 2 решений на Паскале, на второй - 3 и 4, на третий - страница 5 решений на Паскале и страница 2 решений на Си, и, наконец, на четвертый лист - страницы 1 и 0 решений на Си (ровно в таком порядке!).

Если же, например, N=2 и M=3, то на первом листе будут напечатаны страницы 1 и 2 решений на Паскале, на втором - пустая страница и страница 2 решений на Си, на третьем - страницы 1 и 0 решений на Си.

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

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

Во входном файле содержатся три числа: N, M и номер листа P (1≤N≤1000, 1≤M≤1000, 1≤P≤1000).

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

Выходной файл должен содержать две строки. В первой строке должно идти описание той стороны листа, которая будет идти в книге раньше, во второй строке - описание второй стороны листа.

Описание страницы должно состоять из заглавной английской буквы P (если это страница решения на Паскале) или C (если это страница решения на C), ровно одного пробела и номера соответствующей страницы.

Если страница должна быть оставлена пустой, то в соответствующей строке должны быть напечатаны прочерки (символ минус "-") как вместо буквы, обозначающей язык решений, так и вместо номера страницы (см. примеры).

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

действия с числами N, M и P
 
<!--QuoteBegin-gamecreator+12:01:2008, 20:03 -->
<span class="vbquote">(gamecreator @ 12:01:2008, 20:03 )</span><!--QuoteEBegin-->это элементарно. стоит только подумать немного. тут арифметика.

действия с числами N, M и P
[snapback]93245" rel="nofollow" target="_blank[/snapback]​
[/quote]

Можеш поподробнее? Пожалуйста
 
ты над ней хоть думал? она же легкая!
 
<!--QuoteBegin-gamecreator+12:01:2008, 20:08 -->
<span class="vbquote">(gamecreator @ 12:01:2008, 20:08 )</span><!--QuoteEBegin-->ты над ней хоть думал? она же легкая!
[snapback]93247" rel="nofollow" target="_blank[/snapback]​
[/quote]

Да думал! Чет я туплю в последнее время? Если нетрудно, помоги! Еще желательно код! Плиииз

Для: gamecreator
ПОМОГИ УМОЛЯЮ(думаю больше никто не сможет помочь)
 
ну код и по формулам можно написать.
если 2P-1<N, то страницы на паскале и номера их 2P-1 и 2P
если 2P-1==N и N+M четное число, то страница на паскале с номером 2P-1 и страница на си с номером M-1
если 2P-1==N и N+M нечетное число, то страница на паскале с номером 2P-1 и другая страница пустая
если 2P-2==N и N+M нечетное число, то страница пустая и страница на си с номером M-1
если 2P-1>=N+((N+M)%2), то обе страницы на си и номера их N+M+((N+M)%2)-2P+1 и N+M+((N+M)%2)-2P

ПОМОГИ УМОЛЯЮ(думаю больше никто не сможет помочь)
если я не ответил и нахожусь в теме, значит решаю. хотя на этом форуме вроде нельзя посмотреть кто тему смотрит.
 
Для: gamecreator
А не мог бы написать в коде? Я чет стал полным ламмером(хотя и про никогда не был)! Если надо, я могу заплатиь!
 
Зделал как ты сказал! Все ОК, но прога запарываеца на одном месте - Когда попадаеца 1 пустая страница! Она выдает аж 4(!) ответа! Что неверно в каком то условии?
 
День Добрый. Вообщем такое дело, не могу справиься с задачками, это мой допуск к экзамену ))
если есть возможность помогите пожалуйста...
*************************
В каждом из некоторого количества целочисленных массивов
1) найти такую тройку элементов, что одно из чисел тройки равно сумме двух других чисел тройки;

2) найти пару элементов с наименьшим значением их наименьшего общего кратного;

Выдать сообщение, если элементы с указанными свойствами не обнаружены.
***********************

C++ MSVisual Studio 2005
 
проходишься циклом и проверяешь.
 
Для: gamecreator

да я пока с трудом соображаю, что и как) не могли бы вы помочь...или хотя бы алгоритм примерный накидать..
 
1) проходишься по массиву тремя вложенными циклами. внутри проверяешь: если все индексы разные и один элемент массива равен сумме двух других, то сохраняешь их индексы или выводишь куда-нибудь, ты не указал что тебе надо. чтобы выдать сообщение об отсутствии используй флаг, который при выполнении условия установи в 1. после циклов в зависимости от флагов выводи сообщение.

2)устанавливаешь индексы элементов что дают наименьшее НОК в 0 и 1. проходишься двумя вложенными циклами по массиву. если индексы не равны, то находишь НОК этих чисел и сравниваешь с НОК чисел которые ты запомнил. если меньше, то сохраняешь текущие индексы.
 
opium ,
Напишите программу, которая по номеру листа определяет, решения на каком языке и какие номера страниц должны быть напечатаны на этом листе.

Маленькая программка получилась :)
 

Вложения

  • kniga.c
    kniga.c
    2,6 КБ · Просмотры: 395
Вводиться предложение ввиде строки. Слов в предложении разделяются между собой пробелом или запятой. Для решения задачи применять функции из библиотеки string.h.

Напечатать все слова, которые совпадают с ее первым словом.
 
и че, пашет? я ему уже решил. могу выложить исходник
 
Привет все кто может помогите пожалуйста если модежете.
1. код быстрой сортровки.
Спасибо!!!
 
gamecreator
Это ты мне???

gamecreator
Это ты мне???
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab