전화
시간 제한1초메모리 제한512 MB
1번 소에서 N번 소까지 메시지를 전달하는 최소 시간을 구한다. i에서 j로 보내는 비용은 |i-j|이고, b_i 품종이 b_j 품종으로 보낼 수 있을 때만 전송이 가능하다.
문제
농부 존의 소 마리가 일렬로 서 있다. 소들은 의 번호가 붙어 있다 (). 번째 소의 품종 번호는 이며 범위에 있다 (). 소들은 번 소에서 번 소로 메시지를 전달하는 최선의 방법을 찾으려고 한다.
번 소에서 번 소로 메시지를 전달하는 데는 의 시간이 걸린다. 하지만 모든 품종이 서로 통신하려는 것은 아니며, 이는 행렬 로 주어진다. 이면 품종 의 소가 품종 의 소에게 메시지를 전달하려 하고, 이면 그렇지 않다. 라는 보장은 없으며, 같은 품종끼리 통신하지 않으려는 경우 일 수도 있다.
메시지를 전달하는 데 필요한 최소 시간을 구하라.
입력
첫째 줄에 과 가 주어진다.
둘째 줄에 개의 정수 이 공백으로 구분되어 주어진다.
다음 개의 줄은 행렬 를 나타낸다. 각 줄은 비트 문자열이며, 는 위에서 번째 문자열의 번째 비트이다.
출력
필요한 최소 시간을 정수 하나로 출력한다. 번 소에서 번 소로 메시지를 전달할 수 없으면 을 출력한다.