해리 포터와 벡터 주문
면접 대비시간 제한1초메모리 제한256 MB
각 열이 정확히 두 개의 1을 가진 이진 벡터일 때, M×N 행렬의 GF(2) 위에서의 랭크를 구한다.
문제
해리 포터가 혼혈 왕자의 일기에서 또 하나의 이상한 주문을 찾아냈다. 이 주문은 크기가 인 이진 벡터를 만들어 낸다. 해리의 실력이 아직 부족해서 주문이 완벽하게 작동하지 않고, 0이 아닌 원소가 정확히 2개인 벡터만 만들어진다.
해리는 이 주문을 번 썼고, 만들어진 벡터를 모두 열로 세워 행 열 행렬을 만들었다.
마법 행렬 이론 수업에서 교수가 이 행렬의 랭크를 구하라는 문제를 냈다. 해리를 도와주자.
마법 행렬 이론의 연산은 다음 규칙을 따른다.
행렬 의 랭크는 의 열 가운데 선형독립인 열의 최대 개수다. 집합 에 속한 벡터가 선형독립이라는 것은, 일 때 방정식 이 성립하는 경우가 뿐이라는 뜻이다.
입력
첫째 줄에 벡터의 크기 과 해리가 만든 벡터의 개수 이 주어진다.
다음 개 줄에는 , , , , 형식으로 주어진다. 는 번째 행에서 0이 아닌 원소의 개수이고, 이어지는 개의 수는 그 행에서 0이 아닌 열의 번호 다 (, ).
- 각 열에는 0이 아닌 원소가 정확히 2개 있다.
출력
첫째 줄에 행렬의 랭크를 출력한다.
힌트
첫 번째 예제에서 해리가 만든 벡터는 세 개다.
행렬은 다음과 같다.
그런데 이다.