이분 그래프 덮기
시간 제한3초메모리 제한512 MB
가중치가 있는 이분 그래프에서 무게 합이 t 이상이고 어떤 매칭이 모든 꼭짓점을 덮는 부분집합의 개수를 센다.
문제
이분 그래프는 정점 집합이 서로소인 두 집합 와 로 나뉘고, 모든 간선이 의 정점 하나와 의 정점 하나를 잇는 그래프다. 매칭 은 어떤 두 간선도 정점을 공유하지 않는 간선 집합이다. 정점 집합 에 속한 모든 정점이 의 어떤 간선의 끝점이면, 매칭 이 를 덮는다고 하자.
각 정점에 양의 정수 가중치가 붙은 이분 그래프가 주어진다. 정점 집합의 가중치는 그 집합에 속한 정점의 가중치를 모두 더한 값이다.
정수 기준값 가 주어진다. 가중치가 이상이면서 적어도 하나의 매칭이 덮는 정점 집합 가 몇 개인지 구하라. 는 의 부분집합이며, 서로 다른 두 부분집합은 다른 것으로 센다.
입력
첫째 줄에 의 정점 개수 과 의 정점 개수 이 공백으로 구분되어 주어진다 (). 의 정점을 , 의 정점을 이라고 하자.
다음 개 줄에는 간선을 나타내는 개의 문자가 주어진다. 번째 줄의 번째 문자는 와 사이에 간선이 있으면 1, 없으면 0이다.
다음 줄에 개의 정수 이 주어진다 (). 는 의 가중치다. 그다음 줄에 개의 정수 이 주어진다 (). 는 의 가중치다.
마지막 줄에 정수 가 주어진다 ().
출력
가중치가 이상이고 어떤 매칭이 덮는 정점 집합의 개수를 한 줄에 출력한다.
힌트
첫 번째 예제에서 부분집합 은 매칭 이 덮고 가중치가 21이다. 과 은 둘 다 매칭 가 덮으며 가중치는 각각 21과 23이다. 나머지 부분집합은 가중치가 21보다 작거나 어떤 매칭도 덮지 못한다. 예를 들어 은 가중치가 26이지만 이를 덮는 매칭이 없으므로 세지 않는다.