На форумі обговорюються лише питання, пов'язані з олімпіадою
Ви не зайшли.
Риторичне питання (а може хто й відповість)...
.
Ось умова задачі Rec5
Два прямокутники задано цілочисельними координатами пари діагональних вершин в прямокутній системі координат, причому їх сторони гарантовано паралельні осям. Знайти площу спільної частини прямокутників.
.
Все лаконічно, вичерпно й зрозуміло.
.
.
.
а ось умова задачі Сalculation:
Василя Пупкіна, постійного учасника NetOI, нагородили поїздкою до країни Олімпія. Але на все потрібні кошти. Спонсори перерахували певну суму на його рахунок в потрібній валюті, повідомивши, звичайно, цю суму Василеві. Коли ж він вже в Олімпії зайшов до банку, аби отримати гроші, сума в документах виявилася інша, на перший погляд значно більша. Василь дуже зрадів. Але після розмови з працівником банку зрозумів – радість була безпідставною, грошей більше не стало, просто в Олімпії застосовують іншу (добре, хоч позиційну!) систему числення. Маючи гарну математичну підготовку, Василь одразу знайшов основу системи, якою послуговуються в Олімпії. Зробіть це і ви.
Питання: Чим визвана необхідність такої "художньої" обробки умови задачі?
Добре хоч біографію Василя Пупкіна автори задачі не виклали в цій умові.
Якщо автори намагались пояснити, де на практиці може бути застосована ця задача, то теж не дуже вдало, адже у всьому світі в банківських розрахунках людство використовує десяткову систему числення (не плутайте з курсом валют). Можна було б зрозуміти автора, якщо учасник повинен сам з цього "художнього" твору виділити математичну складову умови задачі (як це зроблено в задачі Wall). Але в умові Сalculation цієї ідеї немає, от і приходиться в технічній умові все пояснювати математично.
.
Взагалі, хіба не можна було, як і в Rec5, одразу сформулювати усе лаконічно і чітко.
Наприклад так:
Одне і те ж число записано в десятковій системі числення, та в системі з основою N. Знайти N.
А в технічній умові вказати лише необхідні діапазони дмних.
.
P.S. Ось і у нас вчора на ІІ етапі олімпіади з інформатики в умовах задач було 70-90 відсотків непотрібної "водиці", яка не несла ніякої змістовної інформації, а лише відвволікала учнів від зосередження на справжній математичный умові (лише на вдумливе перечитування таких севдоумов для кожної задачі потрібно 5-10 хвилин дорогоцінного часу).
Що за дивна поведінка авторів задач? Спочатку у "художньому" опису на пів-сторінки відволікати учасника олімпіади, а потім у лаконічній формі в технічній умові та на прикладах пояснювати що саме потрібно вирахувати...
Відредаговано LVV (2011-11-06 13:19:22)
Поза форумом
Само собою, що це питання філософське, однозначної і безсумнівної відповіді тут нема й не може бути.
Але все-таки -- програміст повинен вміти спілкуватися як з математиками, які вже сформулювали задачу абсолютно чітко, і з замовниками з гуманітарним складом розуму (в т.ч. й у гіршому смислі цього терміну), від яких годі чекати короткого формулювання.
І, знаєте, точку зору прихильників коротких умов можна елементарно довести до абсурду: "Навіщо в задачі говорять про
якусь там швидкість, якийсь там час, питають про якусь пройдену відстань, коли насправді можна зразу написати, що числа треба помножити?".
І, наприклад, задачі AreaPlus (див. http://www.olymp.vinnica.ua/index_ua.ph … mp;cid=133) я ні разу не стидаюся, а, навпаки, пишаюся тим, як туди втулено особливості вхідних даних, які, власне, й забезпечують достатню ефективність пропонованого алгоритму.
Крім того, якщо Вас дратує розгорнутість умов NetOI -- значить, Ви не_застали www.test-the-best.by ...
===
Можна десь побачити умови задач вашого ІІ етапу? (тільки не_треба викладати їх цілком прямо в цю тему)
Відредаговано Ilya Porublyov (2011-11-06 13:16:46)
Поза форумом
Якщо згадана Вами задача http://www.olymp.vinnica.ua/index_ua.ph … mp;cid=133 не може бути вирішена без зосередженного перечитування художньо оформленого змісту практичної направленості, то задачу Сalculation нинішнього етапу можна вирішити лише за однією її технічною умовою.
Цитую:
Програма Сalculation читає з клавіатури 2 цілих числа – одне в десятковій системі числення, а інше – в системі з основою 2<=N<10. Кожне з уведених чисел містить не менше 2 і не більше 18 цифр. Програма виводить на екран єдине шукане число N. Гарантується, що розв’язок існує.
Хіба цього не достатньо?
То навіщо тоді ще якась там умова з дійовими особами???
На мою думку, конкретно в цій задачі, з конкретно такими технічними умовами, така художня обробка умови зовсім не потрібна.
Вкажіть хоч один аргумент, щоб, на Вашу думку, без перечитування даної умови цю задачу неможливо було рішити?
Завдання нашого ІІ туру (Цюрупинськ, Херсонщина) відішлю Вам пізніше.
(а посилання www.test-the-best.by щось у мене не працює... )
Відредаговано LVV (2011-11-06 13:45:50)
Поза форумом
LVV написав:
(а посилання www.test-the-best.by щось у мене не працює... )
Я ж і кажу -- не застали... Воно вже давно не працює. А років з 5 тому там було щось дуже приблизно схоже на ТопКодер, теперішній КодеФорсес (якого тоді ще не було) тощо, і умови задач були феноменально довгими.
Поза форумом
Я, певна річ, прошу вибачення за деяку "різкість" і "нетерпимість". Розумію, що далеко не такий компетентний у складанні завдань для олімпіад, як автори тут...
Судячи з усього, на міжнародних олімпіадах з програмування в умовах задач теж зустрічається пустопорожня балаканина (літературний вступ), що не завжди містить потрібні дані для побудови математичної моделі задачі.
А отже, якщо наша мета ІV тур, а далі міжнародний етап, міжпланетний, міжгалактичний... .
То мабуть так і треба. Нехай учні звикають...
Поза форумом
Какие требования к типу выводимых данных? Если, например, в задаче предполагется ответ 12, то это должно быть целое число 12 или допустимо вещественное значение 12.00000000 или строка "12"?
Поза форумом
На жаль, я в даний момент чомусь технічно не можу зайти і подивитися конкретні налаштування. Але у 99% випадків це можна взнати, просто спробувавши надіслати різні програми на он-лайн перевірку на тесті з умови. І я щось не розумію, чим результат виведення стрінга у Вас буде відрізнятися від результату виведення числа...
Поза форумом
Візуально нічим, але, не знаючи як технічно відбувається перевірка, припускаю можливі нюанси.
Поза форумом
samus1c написав:
Какие требования к типу выводимых данных? Если, например, в задаче предполагется ответ 12, то это должно быть целое число 12 или допустимо вещественное значение 12.00000000 или строка "12"?
В задачах NetOI ВСЕГДА в разделе ТЕХНИЧЕСКИЕ УСЛОВИЯ четко сказано, что должно быть на выходе. Например :
Програма виводить на екран (пристрій стандартного виведення) єдине число – шукану величину.
То есть число. А из условия задачи ОЧЕВИДНО, что это число не может быть НЕ ЦЕЛЫМ.
ИЛИ:
Технічні умови. Програма Сalculation читає з клавіатури 2 цілих числа – одне в десятковій системі числення, а інше – в системі з основою 2<=N<10. Кожне з уведених чисел містить не менше 2 і не більше 18 цифр. Програма виводить на екран єдине шукане число N. Гарантується, що розв’язок існує.
Что же не ясно?
Поза форумом
Я так понял, на выходе должен быть набор символов, совпадающий с правильным ответом. И если это целое число, то вывести можно и само целое число, и строку с нужными цифрами, и вещественное число в формате без десятичного знака.
Поза форумом
samus1c написав:
Я так понял, на выходе должен быть набор символов, совпадающий с правильным ответом. И если это целое число, то вывести можно и само целое число, и строку с нужными цифрами, и вещественное число в формате без десятичного знака.
Що б Ви не відправили у вихідний потік, воно все-одно, врешті-решт, буде виглядати як набір ASCII-кодів, відповідно можете виводити ці коди хоч побітово, аби тільки ці біти, будучи обробленими як набір ASCII-кодів, виглядали як правильна відповідь(згідно ТУ).
А взагалі, не даремно ж є розділ "онлайн-перевірка" на сайті. Одне з його призначень - якраз перевірка формату виводу.
Поза форумом
Вивід потрібно завершувати символом переводу строки?
Поза форумом
Знову ж, є онлайн перевірка. Вимоги до формату виводу однакові. Якщо програма проходить онлайн-перевірку, значить формат виводу правильний.
Взагалі, якщо я не помиляюсь, тут все досить ліберально - приймається і так і так.
Поза форумом
alex314 написав:
Вивід потрібно завершувати символом переводу строки?
Нет. Даже такая мелочь, как лишний перевод строки, трактуется как техническая ошибка или неверное решение.
Відредаговано LVV (2011-11-14 07:33:31)
Поза форумом
LVV написав:
alex314 написав:
Вивід потрібно завершувати символом переводу строки?
Нет. Даже такая мелочь, как лишний перевод строки, трактуется как техническая ошибка или неверное решение.
А у меня в онлайн проверке работает с переходом на новую строку. т.е. я пишу writeln(ans);
Поза форумом
Уже долго как пытаюсь здать задачу Calculation на online проверку но все время выбивает "Произошла техническая ошибка".
Код задачи: Calculation
Язык программирования: pas
Текст решения: Calculation.pas
У меня все компилируется без ошибок.
Только что попробывал запустить проверку на пустой программе:
program Calculation; var a,b:integer; begin read(a); read(b); write('2'); end.
И всеравно выбивает "Произошла техническая ошибка"!
Тут точно что то не так. В чем дело?
Поза форумом
adelsz написав:
Уже долго как пытаюсь здать задачу Calculation на online проверку но все время выбивает "Произошла техническая ошибка".
Код задачи: Calculation
Язык программирования: pas
Текст решения: Calculation.pas
У меня все компилируется без ошибок.
Только что попробывал запустить проверку на пустой программе:Код:
program Calculation; var a,b:integer; begin read(a); read(b); write('2'); end.И всеравно выбивает "Произошла техническая ошибка"!
Тут точно что то не так. В чем дело?
У мене нормально відправилось. Перевірте назву файлу - там десь може бути кирилиця замість латиниці, або пишіть код задачі вже ПІСЛЯ того, як обрали файл розв’язку.
Ну і код учасника теж має бути правильним(той, що по мейлу прийшов)
Відредаговано Dim_ov (2011-11-14 21:59:48)
Поза форумом
Попробывал загружать пустую программу такого типа в тренировочный тур там все ок.
Видимо проблема в моем коде участника, но ведь я его прямо с мейла копирую, сто раз проверил, кирилицы точно не в одном названии нет.
Кто нибудь из администрации может посмотреть в чем дело, я только сегодня зарегился, может базы еще "не обновились" ?
Поза форумом
якщо ви отримали листа з кодом, значить все що мало оновитися вже оновилось
Спробуйте відправити ще раз, але код задачі теж скопіюйте з умови. І вставляйте цей код після вибору файлу(поля "мова" і "код задачі" заповнюються автоматично залежно від назви файлу)
Поза форумом
Я так уже пробовал, не помогло(
Наверное все таки с кодом участника проблема(
Кто-нибудь из админов может посмотреть в чем дело? Не хотелось бы пропускать первый тур имея решенные задачи на компе((
Поза форумом
Для того, чтобы сообщить вам ваш код, надо знать, кто вы:-)
Напишите на olymp@olymp.vinnica.ua письмо, укаєите свое имя, фамилию - в ответном письме получите код
Поза форумом
Подскажите пожалуйста будет ли включён C# в список принимаемых языков в последующих олимпиадах?
Поза форумом
Alexandr написав:
Подскажите пожалуйста будет ли включён C# в список принимаемых языков в последующих олимпиадах?
Очевидно, в том виде, как вы хотите - нет. Мы используем (и вам советуем) компиляторы с открытым исходным кодом (как впрочем, и на международных олимпиадах школьников, если не ошибаюсь), да и проверка ведется под Linux. Что-то С# не просматривается под такими углами зрения...
Поза форумом
Ну в принципі, під Лінукс існує mono.
Але пишучи на сі-шарпі ви самі ставите себе в нерівні умови з мовами, що компілюються в native-код - можете пролітати по часу, тоді як Ваш алгоритм буде не менш ефективний, ніж у сішників чи паскалістів.
Відредаговано Dim_ov (2011-11-16 13:18:02)
Поза форумом