Задача A. Сумма с перестановкой
Условие
Заданы три числа: a, b, c.
Необходимо выяснить, существуют ли такие числа x и y, что:
- x получается перестановкой цифр числа a;
- y получается перестановкой цифр числа b;
- x и y не содержат лидирующих нулей;
- x + y = c.
Формат входного файла
Входной файл содержит целые числа a b c.
Формат выходного файла
Если искомые числа существуют,
вывести в первую строку выходного файла слово YES,
а во вторую — числа x y, разделённые пробелом.
В противном случае вывести слово NO.
Ограничения
1 < a, b, c < 109
Примеры тестов
№ |
Входной файл (input.txt ) |
Выходной файл (output.txt ) |
1 |
12 31 25
|
YES
12 13
|
2 |
12 31 26
|
NO
|
Problem B. Water pipe
Statement
The Eastowner city is perpetually haunted with water supply shortages,
so in order to remedy this problem a new water-pipe has been built.
Builders started the pipe from both ends simultaneously, and after
some hard work both halves were connected. Well, almost.
First half of pipe ended at a point (
x1,
y1),
and the second half — at (
x2,
y2).
Unfortunately only few pipe segments of different length were left.
Moreover, due to the peculiarities of local technology the pipes can only be put
in either north-south or east-west direction, and be connected to form a straight line or
90 degree turn.
You program must, given
L1,
L2, …
Lk
— lengths of pipe segments available and
C1,
C2, …
Ck
— number of segments of each length,
construct a water pipe connecting given points, or declare that it is impossible.
Program must output the minimum required number of segments.
Input file format
Input file contains integers
x1 y1 x2 y2 k
followed by 2
k integers
L1 L2 …
Lk
C1 C2 …
Ck
Output file format
Output file must contain a single integer — the number of required segments,
or −1 if the connection is impossible.
Constraints
1 ≤
k ≤ 4,
1 ≤
xi,
yi,
Li ≤ 1000,
1 ≤
Ci ≤ 10
Sample tests
No. |
Input file (input.txt ) |
Output file (output.txt ) |
1 |
20 10 60 50 2 70 30 2 2
|
4
|
2 |
5 5 5 6 1
2 10
|
-1
|
Задача C. Разрезанная рамка
Условие
Прямоугольная рамка была разрезана на N кусков.
Каждый кусок может представлять собой либо отрезок прямой, либо "уголок" — два отрезка,
соединённых под прямым углом.
По данным длинам отрезков требуется восстановить исходную рамку или определить,
что это невозможно.
Куски можно поворачивать, но нельзя отражать. Требуется использовать все куски.
Формат входного файла
Входной файл содержит число кусков
N, за которым следуют
N пар целых чисел
ai bi,
описывающих длину двух отрезков "уголка"
i-го куска.
Если кусок является отрезком, то
ai = 0 либо
bi = 0.
Формат выходного файла
Выходной файл должен содержать два положительных целых числа
W H —
ширину и высоту рамки, при этом
W ≥ H.
Если решения не существует, следует выдать число
−1.
Если решений несколько, следует выдать решение с максимальным значением
W.
Ограничения
1 ≤ N ≤ 10,
0 ≤ ai, bi ≤ 100
Примеры тестов
№ |
Входной файл (input.txt ) |
Выходной файл (output.txt ) |
1 |
10
1 1 1 1
1 0 1 0 1 0 1 0
0 2 0 2 0 2 0 2
|
7 1
|
2 |
5
1 1 1 1 1 1 1 1 5 0
|
-1
|