2 / 2 / 0
Регистрация: 22.01.2012
Сообщений: 6
|
|
1 | |
Олимпиадные задачи :/22.01.2012, 16:39. Показов 14598. Ответов 23
Метки нет (Все метки)
Здравствуйте!
Недавно прошёл очередной тур олимпиады по программированию и мне стало интересно, как следовало решать задачи (авторских решений или тестов для ввода-вывода выложено не было). №1 Среди всех комбинация из N цифр найти те, сумма которых равно числу K. Формат входных данных: Вводятся два целых числа через пробел – количество цифр N (1 ≤ N ≤ 100) в номере и сумма его цифр K (0 ≤ S ≤ 9•N). Формат выходных данных: Вывести количество номеров, состоящих ровно из N цифр, сумма цифр в которых равна заданному K. Пример входных - выходных данных: input: 2 7 output: 8 №2 Учитель информатики Олег Петрович задумал натуральное составное число, нашел все его делители, исключая само число, и сообщил ученикам сумму двух наибольших из этих делителей. Напишите программу, которая по значению суммы найдет число, задуманное Олегом Петровичем. Формат входных данных (input.txt) В первой строке входного файла содержится одно целое число S (3 ≤ S ≤ 1000) – сумма делителей. Формат результата (output.txt) В выходной файл вывести в порядке возрастания по одному числу на строке все числа, у которых сумма двух наибольших делителей, исключая само число, равна заданному S. Пример входных данных 12 Пример результата 16 27 35 121 №3 В центре городского парка, имеющего форму круга радиусом R2, находится круглый фонтан радиусом R1. Деревья в парке растут в узлах координатной сетки, начало которой находится в центре фонтана. Шаг координатной сетки равен 1. На границах парка и фонтана деревья не растут. Подсчитайте количество деревьев в парке. Формат входных данных (input.txt) Вводятся два целых числа R1 и R2 через пробел (1 ≤ R1 < R2 ≤ 10000). Формат результата (output.txt) Вывести количество деревьев. Пример входных данных 1 3 Пример результата 20
1
|
22.01.2012, 16:39 | |
Ответы с готовыми решениями:
23
Олимпиадные задачи Олимпиадные задачи Олимпиадные задачи по программированию Олимпиадные задачи по программированию с решениями |
1552 / 918 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
|
|
25.01.2012, 20:44 | 21 |
на то олимпиадная задача и является олимпиадной, что ее не решить в лоб из-за ограничений, которые наложены на память и время. вы же прекрасно все это понимаете, зачем это на форуме разводить.
не дождетесь вы ответа от своей программы при большом n, ну что, разве не так? я знаю, что ваш код будет работать при любом n, я и не говорил что будет ошибка, я говорил, что он не пойдет для этой задачи. что я спрашивал ?)
0
|
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
|
|
25.01.2012, 21:06 | 22 |
мы говорим про алгоритм. Если отпираться от кода, то он будет работать при n < 20. Для увеличения n нужно использовать длинную арифметика, писать с ней у меня нет интереса.
P.S. Алгоритм пишется без привязки к языку (в jawa, например, длинная арифметика есть по умолчанию). А чтобы решить задачу №1 особых знания языка не требуется. Добавлено через 2 минуты В моем понимании работать, это выдавать правильный результат. Код или алгоритм?
0
|
1552 / 918 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
|
|
25.01.2012, 21:13 | 23 |
ваш алгоритм не подойдет для этой задачи (даже на jaWa, например, где длинная арифметика есть по умолчанию) из-за ограничений, он просто по времени не уложится - time limit будет.
Не по теме: при n = 100, ваш алгоритм будет перебирать чисел больше, чем частиц в нашей вселенной, говорит нам википедия)
0
|
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
|
||||||
25.01.2012, 21:29 | 24 | |||||
Мда. Набросал вот такой код
0
|
25.01.2012, 21:29 | |
25.01.2012, 21:29 | |
Помогаю со студенческими работами здесь
24
Ошибка в книге Скиены "Олимпиадные задачи по програмированию"?! Олимпиадные задачки Универские задачи по С++. Задачи из задачника Абрамян и дополнительные Олимпиадные задачи Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |