|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
07.06.2020, 12:29 | #51 | |
Пользователь
Регистрация: 08.02.2020
Сообщений: 78
|
Цитата:
2) Код:
Код:
Код:
Последний раз редактировалось FsGaCh; 07.06.2020 в 14:44. |
|
07.06.2020, 18:38 | #52 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,341
|
2) Нет смысла накапливать все входные данные, а потом их обрабатывать. И нельзя просто печатать множество, так как это не гарантирует вывод по возрастанию чисел.
Код:
Код:
Код:
Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
Последний раз редактировалось BDA; 07.06.2020 в 19:34. |
08.06.2020, 16:37 | #53 |
Пользователь
Регистрация: 08.02.2020
Сообщений: 78
|
2 задания:
1)Прямоугольную комнату размерами M на N (сначала по горизонтали, а потом по вертикали) замостили треугольными плитками и их пронумеровали, как показано на рисунке. За один шаг можно переместиться с одной паркетины на другую только через общую сторону. Найти наименьшее количество шагов, нужных для перемещения с паркетины A на паркетину B. Входные данные: В первой строке входных данных через пробел заданы значения M, N (1 ≤ M, N ≤ 100), а во второй – A, B. Выходные данные: Искомое количество шагов. Попробовал, сделал вот так, но не работает: Код:
Входные данные: Во входной строке два числа M и N (1 ≤ M, N ≤ 2000000000). Нумерация луз по часовой стрелке, начиная с левой верхней лузы, из которой вилетел шар, согласно рисунка. M – горизонтальная сторона биллиарда, N – вертикальная сторона биллиарда. Выходные данные: Два числа: количество отражений шара и номер лузы в которую упадет шар. Я смог сделать лишь для третьей и второй лузы: Код:
|
08.06.2020, 21:36 | #54 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,341
|
Про замещение треугольными плитками. Я решал так: сначала проверить, не лежат ли плитки A и B на одной горизонтальной линии на полу, ведь тогда ответ очевиден (как раз модуль разницы их номеров). Если все-таки не повезло, и они лежат на разных линиях. Для понимания перерисовал пол в виде графа (номера плиток с одной линии выписал в ряд, а номера с другой линии под ними, соединил линиями те номера, которые имеют общую сторону). Считаю для удобства, что плитка A всегда имеет меньший номер (если нужно, просто меняю номера местами). Можно заметить, как при "спуске" от плитки A можно за одинаковое количество шагов попасть в более широкий диапазон плиток на следующей линии. Нахожу этот диапазон (номера плиток). Если плитка B имеет номер в этом диапазоне, то остается только проверить сразу ли при спуске попали в эту плитку, или нужно сделать еще 1 шаг в сторону. Если плитка не в этом диапазоне, то просто найти количество шагов от краев диапазона до плитки B и выбрать ближайший край.
Про Биллиард. В вашем коде потерялось определение segs. Очевидны ответы для случаев, когда N == M (ответ: 0 отражений, 3 луза) и когда одно на другое делится без остатка (шар попадает во 2, 3 или 4 лузу, а количество отражений равно частному минус один). Строго математически не смог решить, так что просто нарисовал путь шара для прямоугольников 3x4, 3x5, 3x7, 4x5, вывел по этим случаям формулу количества столкновений и выбор лузы (подсказки: четность-нечетность длин сторон прямоугольника, НОД).
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
Последний раз редактировалось BDA; 09.06.2020 в 04:36. |
15.06.2020, 11:47 | #55 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,528
|
биллиард
лист в прямоугольную сеточку c ячейкой MxN много -много биллиардов, теперь шар не отражается, а переходит с поля на поле сохраняя направление.(симметрия однако). запускаем из верхней левой точки(угла сетки) когда он наконец опят пройдет через угол? (лузы только в углах!) когда обрамляющая фигура будет квадрат.(мы движемся по диагонали этой фигуры) размеры этого квадрата ? сколько границ он при этом пересечет ? вертикальных? горизонтальных?
программа — запись алгоритма на языке понятном транслятору
|
18.06.2020, 13:17 | #56 |
Пользователь
Регистрация: 08.02.2020
Сообщений: 78
|
3 задачи которые смог выполнить, скажите как упростить:
1)Задан линейный массив целых чисел. Увеличить на 2 каждый неотрицательный элемент массива. Входные данные В первой строке задано количество элементов массива n (n ≤ 100). Во второй строке заданы сами элементы массива, значение каждого из которых по модулю не превышает 100. Выходные данные Вывести в одной строке n чисел: новые значения элементов массива в том же порядке, в котором они были заданы. Мой вариант: Код:
Формат входных данных В первой строке задано одно число N (1 <= N <= 10000). В следующей строке задано N действительных чисел, разделенных одним пробелом, – элементы массива. Формат выходных данных В одной строке искомая сумма с двумя цифрами после точки. Мой вариант: Код:
Формат входных данных В первой строке задано одно число N (1 <= N <= 10000). В следующей строке задано N целых чисел, разделенных одним пробелом, – элементы массива. Формат выходных данных Вывести количество отрицательных чисел. Мой вариант: Код:
|
18.06.2020, 20:59 | #57 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,341
|
1)
Код:
Код:
Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
Последний раз редактировалось BDA; 18.06.2020 в 21:43. |
18.06.2020, 21:42 | #58 |
Пользователь
Регистрация: 08.02.2020
Сообщений: 78
|
|
22.06.2020, 12:42 | #59 |
Пользователь
Регистрация: 08.02.2020
Сообщений: 78
|
Привет всем. Хотел бы узнать как упростить эти задачки:
1)Дано натуральное число N и массив из N целых чисел. Определить симметричны ли значения элементов массива. Формат входных данных В первой строке задано одно число N (1 <= N <= 10000). В следующей строке задано N целых чисел, разделенных одним пробелом, – элементы массива. Формат выходных данных Если элементы массива симметричны – выведите слово “YES” (без ковычек), в противном случае выведите слово “NO”. Мой вариант: Код:
Формат входных данных В первой строке задано одно число N (1 <= N <= 10000). В следующей строке задано N целых чисел, разделенных одним пробелом, – элементы массива. Формат выходных данных Выведите значение максимального элемента. Мой вариант: Код:
Формат входных данных В первой строке задано одно число N (1 <= N <= 10000). В следующей строке задано N целых чисел, разделенных одним пробелом, – элементы массива. Формат выходных данных Выведите номер первого максимального элемента массива (нумерация элементов массива начинается с 0). Мой вариант: Код:
|
22.06.2020, 13:20 | #60 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,341
|
1)
Код:
Код:
Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
Последний раз редактировалось BDA; 22.06.2020 в 13:37. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
готовлюсь к олимпиаде по информатике | salauat | Паскаль, Turbo Pascal, PascalABC.NET | 25 | 01.12.2013 21:32 |
Подготовиться к олимпиаде за лето | UaKot | Свободное общение | 20 | 10.05.2013 18:53 |
Подготовка к региональной олимпиаде | New man | Помощь студентам | 20 | 14.12.2012 21:01 |
Задачи по олимпиаде | Darick | Помощь студентам | 7 | 23.12.2011 15:45 |
Как подготовиться к олимпиаде? | Kn793 | Помощь студентам | 16 | 26.07.2008 12:22 |