๋ฐฑ์ค€[JS] > 1074๋ฒˆ Z

2024. 10. 28. 22:44ยท๐Ÿ”’Algorithm

 

๐Ÿ”ฅ๋ฌธ์ œ๋งํฌ

https://www.acmicpc.net/problem/1074

 

๐Ÿ”ฅํ’€์ด

์ผ๋‹จ 2**N X 2**N ์ด๋ฃจ์–ด์ง„ ๋ฐฐ์—ด์—์„œ 2**N-1 * 2**N-1 ์œผ๋กœ 4๊ฐœ์˜ ์˜์—ญ ์ค‘ ์–ด๋–ค ์˜์—ญ์— ์†ํ•ด์žˆ๋Š”์ง€ ํŒ๋ณ„ํ•˜๋ฉด์„œ ์žฌ๊ท€์ ์œผ๋กœ ์Šค์ฝ”ํ”„๋ฅผ ๊ณ„์†ํ•ด์„œ ์ขํ˜€ ๋‚˜๊ฐ”๋‹ค. ์ขํ˜€๋‚˜๊ฐ€๋ฉด์„œ Skipํ•œ ์˜์—ญ์— ์†ํ•ด์žˆ๋Š” ๊ฐœ์ˆ˜๋ฅผ ์ง€์†ํ•ด์„œ answer์— ๋”ํ•˜์˜€๋‹ค.

// 5๋ถ„
const fs = require("fs");
const input = fs.readFileSync("/dev/stdin").toString();
//.split("\n");

let [N, r, c] = input.split(" ").map((n) => Number(n));

if(N===1){
    if(r==0&&c==0){
        console.log(0)
    }else if(r==0&&c==1){
        console.log(1)
    }else if(r==1&&c==0){
        console.log(2)
    }else if(r==1&&c==1){
        console.log(3)
    }
    return
}



let answer = 0;
let divider = 2 ** (N - 1);



r=r+1
c=c+1

// answer = 48 , 60,
// divider = 4 , 2, 1
// r/c =8/8 , 4/4 , 2/2
while (1) {
    if (divider === 1) {
        if (r === 1) {
            if (c === 1) {
                answer += 1;
            } else {
                answer += 2;
            }
        } else {
            if (c === 1) {
                answer += 3;
            } else {
                answer += 4;
            }
        }
        break;
    }

    if (r<= divider) {
        if (c<= divider) {
            //1
        } else {
            // 2
            answer += ((divider*divider) * 1);
            c = c - divider;
        }
    } else {
        if (c <= divider) {
            //3
            answer += ((divider*divider) * 2);
            r = r  - divider;
        } else {
            //4
            answer += ((divider*divider) * 3);
            r = r  - divider;
            c = c  - divider;
        }
    }
    divider = Math.floor(divider / 2);
}

console.log(answer-1);

'๐Ÿ”’Algorithm' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

๋ฐฑ์ค€[JS] > 1051๋ฒˆ ์ˆซ์ž ์ •์‚ฌ๊ฐํ˜•  (0) 2024.10.31
๋ฐฑ์ค€[JS] > 1021๋ฒˆ ํšŒ์ „ํ•˜๋Š” ํ  (1) 2024.10.30
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค[JS] > [PCCP ๊ธฐ์ถœ๋ฌธ์ œ] 2๋ฒˆ / ํผ์ฆ ๊ฒŒ์ž„ ์ฑŒ๋ฆฐ์ง€  (1) 2024.09.11
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค[JS] > [PCCP ๊ธฐ์ถœ๋ฌธ์ œ] 3๋ฒˆ / ์ถฉ๋Œ์œ„ํ—˜ ์ฐพ๊ธฐ  (0) 2024.09.11
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค[JS] > ๊ฑฐ์Šค๋ฆ„๋ˆ  (3) 2024.09.06
'๐Ÿ”’Algorithm' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • ๋ฐฑ์ค€[JS] > 1051๋ฒˆ ์ˆซ์ž ์ •์‚ฌ๊ฐํ˜•
  • ๋ฐฑ์ค€[JS] > 1021๋ฒˆ ํšŒ์ „ํ•˜๋Š” ํ
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค[JS] > [PCCP ๊ธฐ์ถœ๋ฌธ์ œ] 2๋ฒˆ / ํผ์ฆ ๊ฒŒ์ž„ ์ฑŒ๋ฆฐ์ง€
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค[JS] > [PCCP ๊ธฐ์ถœ๋ฌธ์ œ] 3๋ฒˆ / ์ถฉ๋Œ์œ„ํ—˜ ์ฐพ๊ธฐ
devWarrior
devWarrior
  • devWarrior
    devWarrior
    devWarrior
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๐ŸงฉDev (263)
      • โญFE (34)
      • ๐Ÿ”’Algorithm (155)
      • โž•Etc. (11)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
    • ๊ธ€์“ฐ๊ธฐ
    • ๊ด€๋ฆฌ
  • ๋งํฌ

  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    ๋ฐฑ์ค€
    ๊ตฌํ˜„
    ์ž์Šค
    ๊ณจ๋“œ5
    ์ฝ”๋”ฉํ…Œ์ŠคํŠธ
    ์‹ค๋ฒ„2
    ์˜ค๋ธ”์™„
    BFS
    react
    ์•Œ๊ณ ๋ฆฌ์ฆ˜
    ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ
    dp
    ๊ทธ๋ฆฌ๋””
    DFS
    node.js
    ํ”„๋ก ํŠธ์—”๋“œ
    Easy
    nodejs
    ํ‹ฐ์Šคํ† ๋ฆฌ์ฑŒ๋ฆฐ์ง€
    FE
    ์‹ค๋ฒ„4
    ์‹ค๋ฒ„3
    Algorithm
    leetcode
    js
    ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
    javascript
    ์ฝ”ํ…Œ
    Lv2
    ์‹ค๋ฒ„1
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
devWarrior
๋ฐฑ์ค€[JS] > 1074๋ฒˆ Z
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”