ЗАДАЧИ
problems.ru
О проекте | Об авторах | Справочник
Каталог по темам | по источникам |
К задаче N

Проект МЦНМО
при участии
школы 57
Фильтр
Сложность с по   Класс с по  
Выбрана 1 задача
Версия для печати
Убрать все задачи

Имеются три пробирки, вместимостью 100 миллилитров каждая. Первые две пробирки имеют риски, одинаковые на обеих пробирках. Возле каждой риски надписано целое число миллилитров, которое вмещается в часть пробирки от дна до этой риски (см. рисунок).

Изначально первая пробирка содержит 100 миллилитров пива, а остальные две пусты. Требуется написать программу, которая выясняет, можно ли отделить в третьей пробирке один миллилитр пива, и если да, то находит минимально необходимое для этого число переливаний. Пиво можно переливать из одной пробирки в другую до тех пор, пока либо первая из них не станет пустой, либо одна из пробирок не окажется заполненной до какой-либо риски.



Входные данные

В первой строке входного файла содержится число рисок N (1 ≤ N ≤ 20), имеющихся на каждой из первых двух пробирок. Затем в порядке возрастания следуют N целых чисел V1 , ..., VN (1 ≤ Vi ≤ 100), приписанных рискам. Последняя риска считается сделанной на верхнем крае пробирок (VN = 100).

Выходные данные

В первой строке выходного файла должна содержаться строка «YES», если в третьей пробирке возможно отделить один миллилитр пива, и «NO» – в противном случае. В случае ответа «YES» во вторую строку необходимо вывести искомое количество переливаний.

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

4
13 37 71 100

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

YES
8

   Решение

Задачи

Страница: 1 2 >> [Всего задач: 6]      



Задача 64186

Тема:   [ Обход графа в ширину ]
Сложность: 2
Классы: 8

"Компоненты связности"

В неориентированном графе посчитать количество компонент связности.
В графе могут быть петли и кратные ребра.

Входные данные.
Во входном файле INPUT.TXT записаны сначала два числа N и M,
задающие соответственно количество вершин и количество ребер
(1<=N<=100, 0<=M<=10000), а затем перечисляются ребра. Каждое ребро
задается номерами вершин, которые оно соединяет.

Выходные данные.
В выходной файл OUTPUT.TXT выведите одно число - количество компонент
связности.

Пример входного файла	
3 4
1 1 1 2 1 3 2 3

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

Пример входного файла	
5 3
1 1 1 2 2 1

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

Пример входного файла	
5 0

Пример выходного файла
5
Прислать комментарий     Решение

Задача 98757

 [Лабиринт]
Тема:   [ Обход графа в ширину ]
Сложность: 3

Может ли путник выйти из лабиринта? Если может, то напечатать путь от выхода до начального положения путника. Лабиринт задан массивом А размером 40*40, в котором:

А [k, m] = 0 , если клетка [k,m] "проходима'';

А [k,m] = 1, если клетка [k,m] '' непроходима ''.

Начальное положение путника задается в проходимой клетке [i, j]. Путник может перемещаться из одной проходимой клетки в другую, если они имеют общую сторону. Путник выходит из лабиринта , когда попадает в граничную клетку ( то есть клетку [k,m],где k или m равны 1 или 40 ).

Прислать комментарий     Решение

Задача 102890

 [Пиво в розлив]
Темы:   [ Обход графа в ширину ]
[ Построение перечислителя ]
Сложность: 3

Имеются три пробирки, вместимостью 100 миллилитров каждая. Первые две пробирки имеют риски, одинаковые на обеих пробирках. Возле каждой риски надписано целое число миллилитров, которое вмещается в часть пробирки от дна до этой риски (см. рисунок).

Изначально первая пробирка содержит 100 миллилитров пива, а остальные две пусты. Требуется написать программу, которая выясняет, можно ли отделить в третьей пробирке один миллилитр пива, и если да, то находит минимально необходимое для этого число переливаний. Пиво можно переливать из одной пробирки в другую до тех пор, пока либо первая из них не станет пустой, либо одна из пробирок не окажется заполненной до какой-либо риски.



Входные данные

В первой строке входного файла содержится число рисок N (1 ≤ N ≤ 20), имеющихся на каждой из первых двух пробирок. Затем в порядке возрастания следуют N целых чисел V1 , ..., VN (1 ≤ Vi ≤ 100), приписанных рискам. Последняя риска считается сделанной на верхнем крае пробирок (VN = 100).

Выходные данные

В первой строке выходного файла должна содержаться строка «YES», если в третьей пробирке возможно отделить один миллилитр пива, и «NO» – в противном случае. В случае ответа «YES» во вторую строку необходимо вывести искомое количество переливаний.

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

4
13 37 71 100

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

YES
8
Прислать комментарий     Решение


Задача 98849

 [Домино ]
Темы:   [ Обход графа в ширину ]
[ Прочие задачи на сообразительность ]
Сложность: 3+

Набор домино состоит из прямоугольных костяшек, каждая из которых разделена на две половинки линией, параллельной более короткой стороне. На каждой из половинок нарисованы точки, количество которых соответствует числу от 0 до M включительно. На костяшках полного набора домино обозначены все возможные различные пары чисел, например, если M равно 3, то полный набор содержит 10 костяшек: (0, 0), (0, 1), (0, 2), (0, 3), (1, 1), (1, 2), (1, 3), (2, 2), (2, 3), (3, 3).

Из костяшек можно выкладывать цепочки, соединяя пары костяшек короткими сторонами, если количества точек на соседних с местом соединения половинках костяшек равны.

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

Задание

Напишите программу DOMINO, которая по информации о наборе домино должна ответить, какое минимальное количество цепочек нужно выложить.

Входные данные

В первой строке входного файла DOMINO.DAT содержится одно целое число M (0≤M?100), которое соответствует максимально возможному количеству точек на половинке костяшки. Во второй строке записано одно целое число N, равное количеству костяшек, удаленных из полного набора. Каждая i-я из последующих N строк содержит по два числа Ai и Bi. Это количества точек на половинках i-й удалённой костяшки.

Выходные данные

Единственная строка выходного файла DOMINO.SOL должна содержать одно целое число L - минимальное количество цепочек.

Пример входных и выходных данных

DOMINO.DAT

DOMINO.SOL

7

2

7 5

3 4

2

Прислать комментарий     Решение

Задача 102889

 [Хамелеон ]
Темы:   [ Обход графа в ширину ]
[ Генерация объектов по номеру и номера по объекту ]
Сложность: 3+

Игра «Хамелеон» происходит в квадрате 3 × 3, в клетках которого находятся 8 фишек с буквами этого слова, а одна из клеток пуста. За один ход разрешается одну из фишек переместить на соседнюю пустую клетку. Цель игры – достигнуть расположения фишек, указанного на рисунке.

Х А М
Е Л Е
О Н

Напишите программу, которая определяет план достижения цели за минимально возможное число ходов, либо сообщает, что цели достичь нельзя.

Входные данные

Во входном файле находится матрица 3 × 3, составленная из больших букв русского алфавита.

Выходные данные

Ваша программа должна вывести в первую строку выходного файла искомое число ходов, а в последующие – их список. Каждый ход задается координатами той фишки, которая перемещается. Если плана не существует, выведите в выходной файл сообщение «Нет решения».

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

ХАМ
Е Е
ОЛН


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

2
3 2
3 3
Прислать комментарий     Решение


Страница: 1 2 >> [Всего задач: 6]      



© 2004-... МЦНМО (о копирайте)
Пишите нам

Проект осуществляется при поддержке Департамента образования г.Москвы и ФЦП "Кадры" .