АВТ
Language:

Remote Training on Programming

Problems On-line status Contests FAQ
For authors:
Register  ||  Login
 
Hello, Guest! Login or register.

271. B - Многозадачность

Time Limit: 1 seconds
Memory Limit:64000KB
Points:10
View Problem Statistics Submit Problem added Undefined

Многие операционные системы при наличии одного процессора могут имитировать многозадачность, т.е. такой режим, при котором несколько вычислительных процессов выполняются одновременно. Осуществляется это за счёт последовательного выполнения частей параллельных процессов. В частности, если должны параллельно выполняться два процесса, то процессор будет исполнять каждый из них поочерёдно в течение фиксированного кванта времени, например, 10 мс. В этом случае у пользователя создаётся иллюзия параллельной работы двух процессов.

Описанный метод осуществления многозадачности в чистом виде используется редко, потому что переключение процессора с исполнения одного процесса на исполнение другого — довольно длительная операция, и желательно минимизировать число таких переключений. Однако чтобы сохранить иллюзию параллельной работы процессов, нельзя допустить того, чтобы какой-либо процесс слишком долго ожидал своей очереди. Учитывая эти два фактора, наиболее часто используют компромиссное решение, связанное с установкой параметра K — максимального времени ожидания процессом очередного кванта времени своей работы. В этом случае возможны различные варианты исполнения процессов.

Пусть должны исполняться два процесса — A и B, каждый из которых требует N единиц времени для своего завершения. В первый квант времени начинает исполняться процесс A, а в последний квант времени завершается исполнение процесса B. Никакой процесс не должен ожидать продолжения своей работы более K единиц времени. При этих условиях возможны различные варианты исполнения процессов A и B, каждый из которых будет характеризоваться определённым расписанием. Например, для = 3 и = 3 существует 6 таких возможных расписаний:

AAABBB

AABABB

AABBAB

ABAABB

ABABAB

ABBAAB

Если же K = 2, то таких расписаний будет 5, так как расписание AAABBB станет недопустимым.

Требуется написать программу, которая определяет количество возможных расписаний работы для процессов A и B при указанных выше условиях.

Формат входных данных:

В первой строке входного файла записана пара натуральных чисел, N и K (1 £ NK £ 30), разделённых пробелом.

Формат выходных данных:

Выходной файл должен содержать единственное число — искомое число способов составления расписания работы для процессов A и B.

Пример файлов входных и выходных данных:

INPUT

OUTPUT

3 3

6

3 2

5

 


View Problem Statistics Submit Author/source:
Problems from Contests / School olympiads of Vologda region / Vologda Region School Olympiad 2005-2006 /
270. A - Корпорация 271. 272. C - Долина золотоискателей 273. D - Расшифровка 274. E - Игра "Перевёртыши"
We can all benefit by doing occasional "toy" programs, when artificial restrictions are set up, so that we are forced to push our abilities to the limit. The art of tackling miniproblems with all our energy will sharpen our talents for the real problems. Donald E. Knuth.
time generating 0.094 sec.
© Copyright VSTU, AVT, Nosov D.A.