종점

시간 제한2초메모리 제한128 MB

요약
최대 15개 도시로 이루어진 연결 그래프에서 차수가 정확히 1인 정점의 수를 최대화하는 신장 트리를 찾는 문제입니다.
난이도

어려움10점 중 8점

유형
동적 계획법, 비트 연산, 트리, 그래프
정답자
아직 제출이 없습니다

문제

N개의 도시가 있고, 일부 도시 쌍은 양방향 도로로 연결되어 있다. 처음 주어지는 도로망에서는 어떤 두 도시 사이에도 경로가 존재한다.

도로 관리 비용을 줄이기 위해 일부 도로를 폐쇄하려고 한다. 도로를 최대한 많이 없애더라도, 남은 도로만으로 모든 도시 사이에 경로가 존재해야 한다.

남은 도로망에서 어떤 도시가 정확히 하나의 다른 도시와 직접 연결되어 있으면 그 도시를 종점이라고 한다. 주어진 도로 중 일부만 남겨 연결성을 유지할 때 만들 수 있는 종점의 최대 개수를 구하라.

입력

첫째 줄에 도시의 개수 N이 주어진다. N은 15 이하이다.

둘째 줄부터 N개의 줄에 인접행렬이 주어진다. 각 줄의 j번째 문자가 1이면 해당 줄의 도시와 j번째 도시 사이에 도로가 있고, 0이면 없다.

출력

종점의 최대 개수를 출력한다.

예제5

  1. 예제 1

    입력
    5
    01000
    10100
    01010
    00101
    00010
    
    예상 출력
    2
    
  2. 예제 2

    입력
    2
    01
    10
    
    예상 출력
    2
    
  3. 예제 3

    입력
    5
    01111
    10000
    10000
    10000
    10000
    
    예상 출력
    4
    
  4. 예제 4

    입력
    4
    0111
    1011
    1101
    1110
    
    예상 출력
    3
    
  5. 예제 5

    입력
    10
    0100000001
    1010000000
    0101000000
    0010100000
    0001010000
    0000101000
    0000010100
    0000001010
    0000000101
    1000000010
    
    예상 출력
    2