만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

로봇

시간 제한10초메모리 제한512 MB

요약
모든 로봇이 이동 선택에 상관없이 k번 명령을 받은 뒤 기지에 있도록 하는 k를 구하고, 없으면 -1을 출력하는 문제입니다.
난이도

어려움10점 중 8점

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

문제

칼리탄 바이타자르는 광물 자원이 풍부한 소행성 BA-1T의 식민지 개척을 감독한다. 그의 임무는 아르다늄을 캐는 로봇 광부들을 관리하는 것이다. 우주 날씨 예보에 따르면 곧 유성우가 쏟아지므로, 그 전에 모든 로봇이 장갑을 두른 기지 안에 숨어 있는 편이 낫다.

안타깝게도 채굴 제어 시스템은 제 역할을 다하지 못한다. 할 수 있는 일은 음이 아닌 정수 kk 하나를 입력하는 것뿐이며, 그러면 모든 로봇에 "움직여!" 명령이 kk번 전송된다.

행성 표면에는 nn개의 구역이 있다. 일부는 기지이고 나머지는 노천 아르다늄 광산이다. 로봇은 양자 두뇌를 갖고 있어 비결정적으로 움직인다. 각 구역 ss마다 바이타자르가 아는 공집합이 아닌 집합 AsA_s가 있어, 구역 ss에 있는 로봇은 명령을 받으면 AsA_s의 구역 중 하나로 이동한다. 어느 구역으로 갈지는 알 수 없다. 반복되는 패턴도 보장되지 않는다. 로봇이 구역 ss에 여러 번 와 있었더라도, 이번에는 이전과 다른 구역으로 갈 수 있다.

바이타자르는 명령을 kk번 실행한 뒤 모든 로봇이 반드시 어느 한 기지에 있게 되는 kk가 존재하는지 알고 싶어 한다.

입력

첫 줄에는 세 정수 nn, bb, rr (2≤n≤2002 \le n \le 200, 1≤b,r≤n1 \le b, r \le n)이 주어진다. 각각 구역의 수, 기지의 수, 로봇의 수다. 구역은 1번부터 nn번까지 번호가 붙고, 1번부터 bb번까지가 기지다.

이어서 nn개의 줄이 주어진다. 각 줄은 0과 1로만 이루어진 길이 nn의 문자열이다. ii번째 줄의 jj번째 문자가 1이면, 명령 후 구역 ii의 광부가 구역 jj로 이동할 수 있다는 뜻이다. 각 줄에는 1이 적어도 하나 있다.

마지막 줄에는 로봇이 처음 있는 구역 번호 rr개가 증가하는 순서로 주어진다.

출력

조건을 만족하는 kk가 존재하지 않으면 -1을 출력한다. 그렇지 않으면 조건을 만족하는 음이 아닌 정수가 십진수로 200자리 이하로 존재함이 보장된다. 그중 아무 수나 출력하면 된다.

예제2

  1. 예제 1

    입력
    4 2 2
    0100
    0010
    1001
    1000
    3 4
    
    예상 출력
    2
    
  2. 예제 2

    입력
    4 2 2
    0100
    0010
    1001
    1000
    2 3
    
    예상 출력
    -1