eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

Разрезание графа

Разрезание графа

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

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

В первой строке записано число вершин n (2n50) в графе. Каждая из следующих n строк содержит по n символов. i-ый символ j-ой из этих строк равен "1", если между вершинами i и j есть ребро, и "0" в противном случае. Заданная таким образом матрица смежности графа является антирефлексивной (на главной диагонали стоят нули) и симметричной (относительно главной диагонали).

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

В первой строке выведите номера вершин, попавших во множество A, а во второй строке выведите номера вершин, попавших во множество B. Номера вершин можно выводить в любом порядке.

Лимит времени 1 секунда
Лимит использования памяти 128 MiB
Входные данные #1
4
0111
1001
1001
1110
Выходные данные #1
2
1 3 4