По данному натуральному n≤9 выведите треугольничек из n строк, i-я строка состоит из i звездочек без пробелов.
Ввод | Вывод |
---|---|
3 |
* ** *** |
Вводится строка, состоящая только из нулей, единиц и двоек. Посчитайте, сколько в этой строке единиц, сразу за которыми идет не 0.
Ввод | Вывод |
---|---|
111101211 |
5 |
Вводится строка, состоящая только из нулей, единиц и двоек. Посчитайте, сколько в этой строке единиц таких, что правее них 0 не встречается (не обязательно рядом, а вообще хоть где-нибудь правее).
Ввод | Вывод |
---|---|
111101211 |
3 |
Такая же задача, только требуется ее решить за один проход по строке (если вы уже так же сдали предыдущую задачу, просто сдайте свое решение еще раз).
Тесты к этой задаче отличаются тем, что здесь добавлены тесты, содержащие строки длиной несколько десятков тысяч символов.
Ввод | Вывод |
---|---|
111101211 |
3 |
Внимание! Решение этой задачи записывается и сдается на листочке, а в проверяющей системе этой задачи нет!
Прежде, чем решать задачу, прочитайте ее условие до самого конца (до слов "конец условия задачи Зю")!
Виктор Александрович и Мария Зауровна в ночь перед уроком пытались решить такую задачу:
Дана строчка, описывающая время, которое показывают часы, в формате ЧЧ:ММ:СС - где ЧЧ - это две цифры, задающие часы, ММ - две цифры, задающие минуты и СС - две цифры задающие секунды. Например: 08:30:00. Требуется напечатать, сколько секунд прошло с начала суток до того момента, как на часах появилась эта запись. Так, при вводе 08:30:00 должно печататься 30600.
Пример ввода | Пример вывода |
---|---|
15:43:10 |
56590 |
Виктор Александрович и Мария Зауровна написали 4 программы, решающие эту задачу. Определите, какие из этих программ правильные, а какие - нет. Для программ, которые вы считаете правильными, просто укажите, что они правильные. А для программ, которые неверные, укажите пример, на котором программа будет работать неверно.
Решение zu1
# -*- coding: utf-8 -*- a = input() for i in range(24*60*60): # Перебираем все моменты времеи в течение суток hh = i // 3600 # Если с начала суток прошло i секунд, то полных часов - i // 3600 mm = i // 60 % 60 # Здесь вычисляем, сколько минут должны показывать часы ss = i % 60 # Здесь вычисляем, сколько секунд должно быть на часах if str(hh) + ":" + str(mm) + ":" + str(ss) == a: # Проверяем - совпадает ли то, что покажут часы с тем, что нам ввели. Если да, то печатаем и прерываем цикл print(i) break |
Решение zu2
# -*- coding: utf-8 -*- a = input() if a[0] == "0": h = int(a[1]) else: h = int(a[0]) * 10 + int(a[1]) if a[3] == "0": m = int(a[4]) else: m = int(a[3]) * 10 + int(a[4]) if a[6] == "0": s = int(a[6]) else: s = int(a[6]) * 10 + int(a[7]) print(h * 3600 + m * 60 + s) |
Решение zu3
# -*- coding: utf-8 -*- a = input() hh = int(a[:2]) mm = int(a[3:5]) ss = int(a[6:]) print(hh * 60 * 60 + mm * 60 + ss) |
Решение zu4
# -*- coding: utf-8 -*- a = input() for x in range(25): hh = ("00" + str(x))[-2:] if hh + ":00:00" > a: ans = (x-1) * 3600 break b = a[3:] for x in range(61): mm = ("00" + str(x))[-2:] if mm + ":00" > b: ans += (x-1) * 60 break c = b[3:] for x in range(61): ss = ("00" + str(x))[-2:] if ss > c: ans += (x-1) break print(ans) |
Конец условия задачи Зю
Петя написал программу движения робота. Программа состоит из следующих команд:
Напишите программу, которая по заданной программе для робота определит, сколько шагов он сделает прежде, чем впервые вернется на то место, на котором уже побывал до этого, либо установит, что этого не произойдет.
Вводится одна строка из заглавных латинских букв S, L, R, описывающая программу для робота. Общее число команд в программе не превышает 200, при этом команд S — не более 50.
Выведите, сколько шагов будет сделано (то есть выполнено команд S) прежде, чем робот впервые окажется в том месте, через которое он уже проходил. Если такого не произойдет, выведите в выходной файл число –1.
Ввод | Вывод |
---|---|
SSLSLSLSSRSRS |
5 |
LSSSS |
-1 |
Таймер - это часы, которые умеют подавать звуковой сигнал по прошествии некоторого периода времени. Напишите программу, которая определяет, когда должен быть подан звуковой сигнал.
В первой строке вводится текущее время в формате ЧЧ:ММ:СС (с ведущими нулями). При этом оно удовлетворяет ограничениям: ЧЧ - от 00 до 23, ММ и СС - от 00 до 60.
Во второй строке вводится интервал времени, который должен быть измерен. Интервал записывается в формате Ч:М:С (где Ч, М и С - от 0 до 109, без ведущих нулей). Дополнительно если Ч=0 (или Ч=0 и М=0), то они могут быть опущены. Например, 100:60 на самом деле означает 100 минут 60 секунд, что то же самое, что 101:0 или 1:41:0. А 42 обозначает 42 секунды. 100:100:100 - 100 часов, 100 минут, 100 секунд, что то же самое, что 101:41:40.
Выведите в формате ЧЧ:ММ:СС время, во сколько прозвучит звуковой сигнал. При этом если сигнал прозвучит не в текущие сутки, то дальше должна следовать запись +<кол во> days
. Например, если сигнал прозвучит на следующий день – то +1 days
.
Ввод | Вывод |
---|---|
01:01:01 48:0:0 |
01:01:01+2 days |
01:01:01 58:119 |
02:01:00 |
23:59:59 1 |
00:00:00+1 days |
Подсказка: задачу H можно решить, не пользуясь массивами.