`Всеукраїнський центр проведення олімпіад в мережі Інтернет

Решения принимаются до 0 часов 

28 декабря 2012 г.


Задача Hanoysoft

 Герой NetOI Вася Пупкин решил слегка подзаработаь на своем умении решать сложные задачи по информатике. Для того, чтобы устроится  в компанию  Megasoft, Вася пришел на собеседование, где ему предложили собрать ханойские башни. Вася начал собирать и определил, что тут что-то не так – ни один диск  невозможно переложить  с первого стержня на третий и наоборот. Вася все же переложил все диски, но доказать Главному Директору фирмы Гиллу Бейтсу, что количество перекладываний минимально, не смог. Помогите  Гиллу Бейтсу и Васе найти  минимальное количество ходов.

Технические условия. Программа  Hanoysoft читает с клавиатуры количество дисков N (1<=N<=10000), далее через пробел номера начального и конечного стержней A B (1<=A, B<=3, A<>B). Программа выводит на экран минимальное количесво перекладываний дисков по модулю 1000000007.

Примеры

Ввод

2 1 2

Вывод

4

Ввод

3 3 1

Вывод

26


Задача Upgrade

 Как в любом большом городе, в нашем достаточно много школ, каждая имеет свой сервер. Некоторые из них соединены между собой каналами двусторонней прямой связи. Каждый из каналов соединяет непосредственно  2 школы, любые две школы соединены не более, чем одним каналом. Образование  не имеет достаточно средств, потому  к каждой  школе ведет не более двух каналов. В процессе  работы информация передается с сервера-«отправителя»  на сервер– «получатель» через некоторые из наявных каналов, причем неважно, через какие. Но  многие из существующих каналов обустроены давно и не предназначены для передачи информации с большой скоростью. Наша лаборатория приняла решенние заменить часть каналов оптоволоконными таким образом: если информация могла попадать с сервера A на сервер B, то теперь она сможет пройти  с А на В через оптоволоконные каналы. Конечно, оптическое волокно стоит дорого, потому мы хотим заменить минимальное количество старых «медных» каналов на новые оптоволоконные, а избыточные  «медные»  законсервировать. Понятно, что каждый сервер умеет, как и ранее, «роутить» информацию, то есть пропускать ее далее, если существует канал связи.

Очень хочется знать, сколько существует разных способов замены минимального количества каналов. Два способа считаются разными, если существует канал, который  заменили в одном из способов, и не заменили в другом. Помогите нам.

Технические условия.  Программа UPGRADE  читает с клавиатуры 2 числа n і m (1<=n<=105     0<=m<=105) – количество школ и количество каналов соответственно. Далее программа читает в m строках  каналы, по одному в строке. Каждый канал задан двумя целыми числами  Аі и Ві (1<= Аі, Ві <=n,  Аі<>Ві) – номера школ, которые соединяет канал с номером і. Гарантировано, что каждый канал задан не более одного раза. Программа выводит на экран одно единственное число – количество способов замены. Поскольку число может быть достаточно большим, выводить нужно по модулю 109+7 (то есть - остаток от деления на это число).

Примеры

Ввод

5 4

1 2

2 3

1 3

4 5

Вывод

3

 

 

 

Ввод

2 1

1 2

 

 

 

Вывод

1

 

 

 

 

Комментарий к примеру. Существует три способа замены каналов:

{1,2,4},{1,3,4},{2,3,4}

 


Задача Digits2

Существует натуральное число L. Над этим числом определены операции: «ПОПОЛАМ» (разделить число на 2) и  «-05» (отнять 0,5). Операции выполняются одна за другой в произвольном порядке; если перед операцией число было нецелое, тогда следующей может быть только операция «-05». После выполнения К операций число может иметь разное значение Lі. Сколько возможных значений имеет число  Lі ?

Технические условия.

Программа Digits2 читает с клавиатуры два числа L – начальное значение числа  и К – количество операций (1 <= L,K <= 1000). Программа выводить на экран количество значений, которые может принять Lі .

Пример          

Ввод                               Вывод

 6  1                                      2

 


Задача Chocolate

 Маленькому мальчику Васе на день рождения подарили шоколадную плитку, которая имеет форму параллелепипеда размерами M*N*K. От любой грани можно отпилить шоколадку только толщиной 1. Вася никогда не ламает полученные таким образом шоколадки и пилит шоколадную плитку до тех пор, пока это возможно. Сколько разных наборов шоколадок может получится у Васи? Наборы считаются разными, если содержат разное количество шоколадок хотя бы одного размера. Шоколадки x*y и y*x считаются одинаковыми.

Технические условия. Программа Chocolate читает с клавиатуры размеры шоколадки M, N, K (1<=M,N,K<=100) и выводит на экран искомое количество шоколадок по модулю 1000007.

Примеры 

Ввод 2 2 4

Вывод 3

Ввод 2 2 2

Вывод 1

Ввод 3 2 4

Вывод 7

Комментарий к первому примеру:

Плитку 2*2*4 можно разрезать на 2 шоколадки 1*2*4 или на 4 шоколадки 1*2*2, или на одну 1*2*2 и две 1*2*3.

 



Задача Trimino

Найдите количество способов покрытия прямоугольника 4*фигурками «Тримино». «Тримино» - это квадрат 2*2 с одной вырезанной клеточкой.

 

 

 

 

 

Технические условия

Программа Trimino читает с клавиатуры натуральное число N (1<=N<=100000) и выводит на экран искомое количество способов по модулю 1000000007.

Примеры 

Ввод 3

Вывод 4

Ввод 7

Вывод 0

Комментарий к первому примеру: все способы покрытия указаны на рисунке.



Задания подготовили Г.Непомнящий, Ю.Пасихов 

© LIKT 1998-2024