atcoder#ARC107E. [ARC107E] Mex Mat

[ARC107E] Mex Mat

配点 : 800800

問題文

N×NN \times N の行列を考えます。この行列の ii 行目、jj 列目の値を ai,ja_{i, j} とします。i=1i = 1j=1j = 1 を満たす ai,ja_{i, j} については 00, 11, 22 のいずれかの値が入力で与えられます。残りの値は以下の規則に従い定めます。

  • $a_{i,j} = \mathrm{mex}(a_{i-1,j}, a_{i,j-1}) (2 \leq i, j \leq N)$。ただし mex(x,y)\mathrm{mex}(x, y) は次の表に従う。
mex(x,y)\mathrm{mex}(x, y) y=0y=0 y=1y=1 y=2y=2
x=0x=0 11 22 11
x=1x=1 22 00
x=2x=2 11

行列の要素のうち、値が 0,1,20, 1, 2 であるものはそれぞれ何個でしょうか?

制約

  • 1N500,0001 \leq N \leq 500{,}000
  • 入力される ai,ja_{i, j} の値はすべて 0,1,20, 1, 2 のいずれか

入力

入力は以下の形式で標準入力から与えられる.

NN

a1,1a_{1, 1} a1,1a_{1, 1} ...... a1,Na_{1, N}

a2,1a_{2, 1}

::

aN,1a_{N, 1}

出力

00 の個数、11 の個数、22 の個数を空白区切りで出力せよ。

4
1 2 0 2
0
0
0
7 4 5

行列は以下のようになります。

1 2 0 2
0 1 2 0
0 2 0 1
0 1 2 0