Задача A. Knapsack problem
Условие
Дана последовательность из
N целых чисел. Найдите любую из ее подпоследовательностей,
сумма элементов которой равна
w, либо установите,
что искомой подпоследовательности не существует.
Формат входного файла
Во входном файле находятся числа
N и
w, а за ними следует последовательность
из
N целых чисел
ai.
Формат выходного файла
Если искомая подпоследовательность существует, выведите
N чисел 0 или 1, разделенных пробелами.
Единица на позиции
i означает, что элемент последовательности
ai принадлежит найденной
подпоследовательности, 0 означает обратное. В противном случае выведите
−1.
Ограничения
1 ≤ N ≤ 40,
0 ≤ ai,w ≤ 10000000
Примеры тестов
№ |
Входной файл (input.txt ) |
Выходной файл (output.txt ) |
1 |
3 7
1 5 6
|
1 0 1
|
Задача B. Слово из кубиков
Условие
Имеется
N кубиков, на гранях которых написаны буквы.
Требуется определить, можно ли из этих кубиков составить данное слово длиной
K символов,
и если да, то вывести номера использованных кубиков.
При этом каждый кубик можно использовать только один раз.
Если решений несколько, выдать любое из них.
Формат входного файла
В первой строке входного файла содержится количество кубиков
N.
Во второй строке — слово, в следующих
N строках — по шесть символов без разделителей,
определяющих буквы на гранях кубиков. (Порядок букв не имеет значения).
Формат выходного файла
Выходной файл должен содержать последовательность из
K различных целых чисел от
1 до
N,
задающих номера кубиков для каждой буквы слова, начиная с первой.
Если решения нет, выходной файл должен содержать единственное число 0.
Ограничения
1 ≤ N, K ≤ 12.
Примеры тестов
№ |
Входной файл (input.txt ) |
Выходной файл (output.txt ) |
1 |
5
TEST
ABCDAB
TTTTTT
STSTST
CREATE
ERRORS
|
2 5 3 4
|
Problem C. Network Saboteur
Statement
A university network is composed of N computers. System administrators gathered information on the traffic between nodes, and carefully divided the network into two subnetworks in order to minimize traffic between parts.
A disgruntled computer science student Vasya, after being expelled from the university, decided to have his revenge. He hacked into the university network and decided to reassign computers to maximize the traffic between two subnetworks.
Unfortunately, he found that calculating such worst subdivision is one of those problems he, being a student, failed to solve. So he asks you, a more successful CS student, to help him.
The traffic data are given in the form of matrix C, where Cij is the amount of data sent between ith and jth nodes (Cij = Cji, Cii = 0). The goal is to divide the network nodes into the two disjointed subsets A and B so as to maximize the sum of all Cij, where i belongs to A, and j belongs to B.
Input file format
The first line of input file contains a number of nodes N. The following N lines, containing N space-separated integers each, represent the traffic matrix C.
Output file format
Output file must contain a single integer - the maximum traffic between the subnetworks.
Constraints
2 ≤ N ≤ 20; 0 ≤ C
ij ≤ 10000.
Sample tests
No. |
Input file (input.txt ) |
Output file (output.txt ) |
1 |
3
0 50 30
50 0 40
30 40 0
|
90
|