만드는 중입니다

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

계수

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

요약
이진 행렬이 주어질 때 각 칸의 값을 뒤집으면 F2 위의 랭크가 줄어드는지, 같은지, 늘어나는지 칸마다 구합니다.
난이도

보통10점 중 7점

유형
행렬, 수학, 비트 연산
정답자
아직 제출이 없습니다

문제

유한체 F2\mathbf{F}_2는 0과 1 두 원소로 이루어진다. F2\mathbf{F}_2의 덧셈과 곱셈은 2로 나눈 나머지에 대한 정수 연산이며, 아래 그림과 같다.

같은 차원을 가진 F2\mathbf{F}_2 위의 벡터 v1,…,vk\mathbf{v}_1, \ldots, \mathbf{v}_k가 선형 독립이라는 것은, c1,…,ck∈F2c_1, \ldots, c_k \in \mathbf{F}_2에 대해 c1v1+⋯+ckvk=0c_1\mathbf{v}_1 + \cdots + c_k\mathbf{v}_k = \mathbf{0}이 성립하면 반드시 c1=⋯=ck=0c_1 = \cdots = c_k = 0인 경우만 있다는 뜻이다. 여기서 0\mathbf{0}은 모든 원소가 0인 영벡터이다.

행렬의 계수는 열벡터들로 이루어진 선형 독립 집합의 최대 원소 수이다. 예를 들어 [001101]\begin{bmatrix} 0 & 0 & 1 \\ 1 & 0 & 1 \end{bmatrix}의 계수는 2이다. 첫 번째 열 [01]\begin{bmatrix} 0 \\ 1 \end{bmatrix}과 세 번째 열 [11]\begin{bmatrix} 1 \\ 1 \end{bmatrix}은 선형 독립이지만, 세 열 전체는 선형 독립이 아니다. 영행렬의 계수는 0이다.

행렬 AA에서 (i,j)(i, j) 원소만 뒤집은 행렬을 A(ij)A^{(ij)}라 하자.

Akl(ij)={Akl+1(k=i and l=j)Akl(otherwise)A_{kl}^{(ij)} = \begin{cases} A_{kl} + 1 & (k = i \text{ and } l = j) \\ A_{kl} & (\text{otherwise}) \end{cases}

AA의 계수를 rr, A(ij)A^{(ij)}의 계수를 r(ij)r^{(ij)}라 할 때, 모든 (i,j)(i, j)에 대해 (i) r(ij)<rr^{(ij)} < r, (ii) r(ij)=rr^{(ij)} = r, (iii) r(ij)>rr^{(ij)} > r 중 어느 관계인지 구하라.

입력

입력은 다음 형식의 테스트 케이스 하나로 주어진다.

n m
A11 ... A1m
...
An1 ... Anm

nn과 mm은 행렬 AA의 행 수와 열 수이다(1≤n≤10001 \le n \le 1000, 1≤m≤10001 \le m \le 1000). 다음 nn개 줄에는 AA의 원소가 공백 없이 나열된다. AijA_{ij}는 ii행 jj열의 원소이며 0 또는 1이다.

출력

nn개 줄을 출력한다. 각 줄은 mm개의 문자로 이루어진다. ii번째 줄의 jj번째 문자는 반드시 -, 0, + 중 하나여야 하며, 각각 (i), (ii), (iii)의 경우에 대응한다.

예제4

  1. 예제 1

    입력
    2 3
    001
    101
    
    예상 출력
    -0-
    -00
    
  2. 예제 2

    입력
    5 4
    1111
    1000
    1000
    1000
    1000
    
    예상 출력
    0000
    0+++
    0+++
    0+++
    0+++
    
  3. 예제 3

    입력
    10 10
    1000001001
    0000010100
    0000100010
    0001000001
    0010000010
    0100000100
    1000001000
    0000010000
    0000100000
    0001000001
    
    예상 출력
    000-00000-
    0-00000-00
    00-00000-0
    +00000+000
    00-0000000
    0-00000000
    000-00000-
    0-000-0-00
    00-0-000-0
    +00000+000
    
  4. 예제 4

    입력
    1 1
    0
    
    예상 출력
    +