Зато с элсом будет работать для произвольного файла, где ищем цепочки нулей.
Я уже сказал, здесь - не значимо.
Проверка вводных данных это обязанность программиста.
Да, в
обычном программировании (как я уже и говорил). А здесь обсуждается
олимпиадное. В олимпиадных тестах могут подсунуть файл, в котором будет 0 символов (или чисел, или строк - на что задача), но не подсовывают файл, который некорректен, не соответствует условиям задания. Это просто принятый стиль. Смысл олимпиады - решить задачу, которую, подразумевается, саму по себе решить сложно, а вовсе не заклеить все дыры, по нормам промышленного программирования.
И всегда писать if-if?
Где я такое сказал? Писать надо так, как проще всего придумывается. Для
Ubermensch на данный момент -
if-if. Для вас -
if-else. Главное, чтобы это быстро придумывалось, быстро в уме проверялось на правильность, и быстро записывалось. А считать, что это такой важный вопрос, как именно тут будут оформлены нюансы - это ошибка, которая как раз и повлечёт за собой потери времени, критичные на олимпиаде.
А лишнее сравнивание в случае единицы тоже время забирает
В данном случае некритично мало. На олимпиадах вообще обычно не встречаются задания с критичностью требований к объёму памяти или времени выполнения (хотя бывают и исключения). Если вы вышли за пределы - значит, у вас в идее решения что-то не так.