Teleport

시간 제한5초메모리 제한2048 MB

요약
연결된 무방향 그래프에서 두 도시를 골라 양방향 텔레포트를 놓을 때, 텔레포트를 사용한 최단 거리의 최댓값이 가장 작아지도록 하고 그 최솟값을 구한다.
난이도

어려움10점 중 8점

유형
그래프, 최단 경로, BFS, 이분 탐색
정답자
아직 제출이 없습니다

문제

Bajtocja to kraj składający się z nn miast (numerowanych liczbami od 11 do nn) i łączących je dwukierunkowych autostrad. Przejechanie autostradą pomiędzy dwoma miastami wymaga spalenia jednego bajtolitra paliwa. Bajtazar – prezes firmy BajtTrans, jest bardzo niezadowolony zużyciem paliwa, planuje więc umieścić dwukierunkowy teleport między pewnymi dwoma miastami Bajtocji. Podróż teleportem jest natychmiastowa i nie zużywa paliwa! Ciężarówki firmy BajtTrans muszą mieć na tyle duży bak paliwowy, żeby być w stanie przejechać między dowolną parą miast Bajtocji na jednym tankowaniu w mieście początkowym (paliwa zużytego wewnątrz każdego z miast nie uwzględniamy, jest go pomijalnie mało).

Bajtazar chciałby zminimalizować rozmiar baku w ciężarówkach. Mając dany opis bajtockich autostrad, wyznacz minimalny potrzebny rozmiar baku, przy założeniu, że para miast łączonych teleportem zostanie wybrana optymalnie. Możesz założyć, że korzystając z autostrad da się przejechać między każdą parą miast.

Musisz rozwiązać ten problem dla t niezależnych przypadków testowych.

입력

W pierwszym wierszu wejścia znajduje się liczba tt (1≤t≤211 ≤ t ≤ 21), oznaczających liczbę przypadków testowych.

W pierwszym wierszu opisu każdego przypadku testowego znajduje się liczba nn (3≤n≤4003 ≤ n ≤ 400), oznaczająca liczbę miast w Bajtocji. Kolejnych nn wierszy przypadku testowego zawiera opis autostrad znajdujących się w Bajtocji. W każdym z nich znajduje się ciąg binarny długości nn. Element ii-ty w ciągu jj-tym jest równy 11 wtedy i tylko wtedy, gdy istnieje autostrada łącząca miasta o numerach ii oraz jj.

Każda autostrada łączy dwa różne miasta – element ii-ty w ciągu ii-tym to zawsze 00. Każda autostrada jest dwukierunkowa – element ii-ty w ciągu jj-tym jest równy elementowi jj-temu w ciągu ii-tym. Korzystając z opisanych autostrad, da się przejechać między każdą parą miast w Bajtocji.

Suma nn po wszystkich przypadkach testowych nie przekroczy 400400.

출력

Na wyjściu powinno znaleźć się tt wierszy, w ii-tym z nich powinna znaleźć się jedna liczba całkowita, oznaczająca minimalny rozmiar baku ciężarówki (w bajtolitrach) przy optymalnym ustawieniu teleportu dla ii-tego przypadku testowego.

힌트

Wyjaśnienie przykładu: W pierwszym przypadku testowym między każdą parą miast da się przejechać bezpośrednio autostradą i niezależnie od tego, które miasta połączymy teleportem nadal będziemy potrzebować baku o pojemności co najmniej 11 bajtolitr.

W drugim przypadku testowym, przed ustawieniem teleportu z bakiem pojemności dwóch bajtolitrów nie da się przejechać między miastami o numerach (1,4)(1, 4); (1,5)(1, 5) oraz (2,5)(2, 5). Jednak po ustawieniu teleportu (na przykład pomiędzy miastami o numerach 11 i 55) już jest to możliwe.

예제1

  1. 예제 1

    입력
    2
    4
    0111
    1011
    1101
    1110
    5
    01000
    10100
    01010
    00101
    00010
    
    예상 출력
    1
    2