Задача 5: Кинотеатр
В кинотеатре места часто расставляют со сдвигом соседних рядов для удобства зрителей. Пусть в таком кинотеатре N мест в 1-м, 3-м, 5-м и всех нечётных рядах и N + 1 место во 2-м, 4-м и всех чётных рядах. Места в рядах нумеруются от 1 до N в нечётных рядах и от 1 до N + 1 в чётных рядах.
Касса продаёт билеты подряд: сначала в 1-й ряд на места с 1-го по N-е, потом — во 2-й ряд на места с 1-го по N + 1-е, затем в 3-й ряд с 1-го места и т.д.
Определите номер ряда и номер места для K-го проданного билета.
Входные данные
Программа получает на вход два целых числа. В первой строке записано число N (1 ≤ N ≤ 109) — количество мест в 1-м ряду кинотеатра. Во второй строке записано число K — порядковый номер проданного билета (1 ≤ K ≤ 2×109).
Выходные данные
Программа должна вывести два числа: номер ряда и номер места K-го проданного билета.
Система оценивания
Решения, правильно работающие, когда входные числа не превосходят 1000, будут оцениваться в 60 баллов.
Пример:
Ввод:
10, 25
Вывод:
3, 4
Пояснение:
Билеты с 1 по 10 будут проданы в первый ряд. Билеты с 11 по 21 будут проданы во второй ряд. В третий ряд будут проданы билеты, начиная с 22-го, 25-й билет окажется на 4-м месте 3-го ряда.
СДАТЬ РЕШЕНИЕ В ЯЗЫКЕ ПРОГРАММИРОВАНИЯ- ЖЕЛАТЕЛЬНО PYTHON 3 3.6.8
Answers & Comments
Ответ:
n=int(input('n? '))
k=int(input('k? '))
r=0
while k>0: nr=(n+1 if r%2 else n); k-=nr; r+=1
print (r,nr-abs(k))
Объяснение:
Язык:питон
Тоже олимпиаду делаешь?