๐ŸŽฒ ๋ฐฑ์ค€ 1780๋ฒˆ ์ข…์ด์˜ ๊ฐœ์ˆ˜

Jeongeunยท2024๋…„ 2์›” 25์ผ
0

๋ฐฑ์ค€

๋ชฉ๋ก ๋ณด๊ธฐ
173/186

๐Ÿ“ฃ ๋ฌธ์ œ

๐ŸŽจ ์ฐธ๊ณ  ์ฝ”๋“œ

์ฝ”๋“œ

const fs = require('fs'); 
const input = fs.readFileSync('/dev/stdin').toString().trim().split('\n');
let len = +input.shift();
let map = input.map((el) => el.split(" ").map(Number));

let answer = [0, 0, 0];

const paper = (y, x, size) => {
  let first = map[y][x];
  let same = true;

  for (let i = y; i < y + size; i++) {
    for (let j = x; j < x + size; j++) {
      if (map[i][j] !== first) {
        same = false;
        break;
      }
    }
    if (!same) break;
  }

  if (same) answer[first + 1]++;
  else {
    paper(y, x, size / 3);
    paper(y, x + size / 3, size / 3);
    paper(y, x + (size / 3) * 2, size / 3);
    paper(y + size / 3, x, size / 3);
    paper(y + size / 3, x + size / 3, size / 3);
    paper(y + size / 3, x + (size / 3) * 2, size / 3);
    paper(y + (size / 3) * 2, x, size / 3);
    paper(y + (size / 3) * 2, x + size / 3, size / 3);
    paper(y + (size / 3) * 2, x + (size / 3) * 2, size / 3);
  }
};

paper(0, 0, len);
console.log(answer.join("\n"));

0๊ฐœ์˜ ๋Œ“๊ธ€