Тема для вопросов и обсуждения задачи "Предложение чемпион"
Задача 331 "Предложение чeмпион"
Сообщений 1 страница 14 из 14
Поделиться22009-10-07 18:23:29
чи кожні два речення є розділені крапками, і чи можуть бути крапки не між реченями?
і що виводити, якщо нема ні одного речення чемпіона?
Наявність хоча б одного речення гарантується... Крапки - це один з розділових знаків, а у всіх мовах розділові знаки використувуються практично однаково!!! Крапки не між реченнями - відсутні. Тому, хоча тести й на "невідомій" мові, але можете за зразок (на папері) використовувати для розробки алгоритму речення рідної мови, або будь-якої іншої (не програмування), якою володієте.
Отредактировано Andrew_Makar (2009-10-07 18:32:52)
Поделиться32009-10-07 19:09:47
і останє (надіюся) запитання: чи використовується у невідомій мові знак "трикрапка"(...)?
Відповіді немає, так як вона дана у відповіді на попереднє запитання...
Поделиться42009-10-07 19:23:46
предложения оканчиваются точкой, или концом строки?
Читаем условие: "Задан некоторый абзац текста на неизвестном языке." Вспомним школу, текстовый редактор, Word - надеюсь работали, если нет - откройте школьный учебник по любому предмету и не зависимо от страны проживания и используемого языка, молча применяйте все что там видите здесь... Думаю, этого достаточно?! Гарантируется, что тестов с подвохами нет, иначе это было-бы как-то оговорено в условии. Если лень открыть Word или учебник - можете использовать текст этой подсказки!!!
Поделиться52009-10-07 19:57:28
а Ви впевнені що всі тести до цієї задачі правильні? просто дивно, що з 55-ти учасників змагань задачу повністю розвязала тільки одна людина.
Ага...
P.S.: Более того, человек который сдал, не является автором задачи, но относится к тому уровню решателей, который просто обязан задачу такого уровня сдавать.
Поделиться62009-10-07 20:26:16
а чому "просто обязан задачу такого уровня сдавать"?
Як Ви так простите: "... просто зобов`язаний такого рівня задачу здавати..." тому, що задачка дійсно і не так вже складна. Чисто технічна задачка на вміння працювати з літерними величинами. Звичайно, трошки складніша за попередню.
Поделиться72009-10-07 20:36:28
Ви напевно мене неправильно зрозуміли, я не мав на увазі, чому те що Ви написали, написано російською мовою...
А..., у цьому смислі... А це хіба принципово?. Просто той хто здав, українською не володіє, так як проживає в Росії. А оскільки доповнення до повідомлення стосувалось і його, то щоб потім не було лишніх питань написав російською.
А взагалі, я намагаюсь, по мірі можливості, завжди відповідати на тій мові, на якій було задано питання.
Поделиться82009-10-07 22:20:37
чи можуть арабські чила утворювати поліндроми самі з собою/з англ. буквами, і чи їх потрібно враховувати?
Згідно умови задачі вони входять до складу алфавіту невідомої мови...
Поделиться92009-10-07 22:38:40
значить - так?
Так
Поделиться102009-10-10 02:10:06
Вот потратил я кучу времени.. мое решение как я считаю было правильным. Что у меня было "не так": у меня с самого начала максимальное количество палиндромов в предложении (до того как я их рассматривал) ставилось -1
тоесть
int best=0; // номер лучшего предложения
int bestc=-1; // количество палиндромов в лучшем предложении
далее для каждого предложения вычислялось количество палиндромов и делалось обновление:
int c=go(g);
if (c>bestc) {bestc=c; best=p;} // где p - номер текущего предложения
вот.. это все проходило тесты кроме последнего....
в итоге оказалось что если изначально присвоить bestc=0 то будет AC!!!
Странно, особенно учитывая тот факт что чуть выше гарантировали что предложение хотябы одно - будет.
Вот вам и ответ почему так мало ее сдают - потому что проблема с тестами, а ребятам просто повезло что они сделали именно ошибку с начальным присвоением (ну либо я ошибся:) ).
Проблем с тестами нет. Все тесты корректны. Более детально не могу, дабы не рассекречивать тесты, в которых действительно учтены все критические случаи и хотя бы одно предложение всегда есть. Маленькие нюансы в алгоритме при работе со строками очень существенны, вот они у Вас и проявлялись.
А первоначальное обнуление переменных всегда считалось правилом "хорошего программистского тона".
Отредактировано awpris (2009-10-10 05:27:33)
Поделиться112009-10-10 17:54:01
??? тогда как вы объясняете то, что для последнего теста ответ 0 ?
Если предложение хотябы одно есть - то ответ минимум будет 1, какие ж тут нюансы со строками? я тут вообще не про строки говорю.
вот: добавляю перед выводом: while(best==0); - получай тайм лим
добавляю: if (best==0) {int t=0; cout << 4/t;} - получаю рантайм
а если ничего не добавлять - асепт!!!
стало быть выводиться 0? как вы это объясните????
Отредактировано nevidomy (2009-10-10 17:58:49)
Поделиться122009-10-10 18:47:20
Я не автор задачи, но у меня к автору вопроса есть свой вопрос, вернее, два:
1) а если в абзаце нет предложений со словами-палиндромами?
2) а если в абзаце только одно предложение и без палиндромов?
Что выдает ваше решение?
Поделиться132009-10-10 20:08:00
меня это тоже интересует:
что означает "нет палиндромов"? - очевидно это означает что в предложении 0 палиндромов
если же все предложения содержат по 0 палиндромов - то чемпион очевидно содержит 0 палиндромов - отсюда следует что первое предложение с 0 палиндромами являеться чемпионом. Не так ли?
Тем более в условии иного не оговорено, а именно так и написано "с наибольшим количеством палиндромов"
что скажет автор?
Нет, не так. Если нет палиндромов, то нет и чемпиона, т.е. ответ должен быть 0.
Отредактировано nevidomy (2009-10-10 23:27:29)
Поделиться142009-10-11 10:50:33
А где это в условии указано?
В условии четко сказано "максимально". Просто неправильное условие, незачем спорить
Здесь действительно можно спорить и каждый будет по своему прав. Дабы не допустить подобных вопросов в дальнейшем, в условие задачи внесено дополнение, учитывающее Вашу точку зрения: Если предложений с палиндромами в тексте нет - выведите 0.
Вам спасибо за предложения по уточнению условия задачи.
Отредактировано nevidomy (2009-10-11 10:52:21)