[BOJ/20208] ์ง„์šฐ์˜ ๋ฏผํŠธ์ดˆ์ฝ” ์šฐ์œ , c++

2021. 9. 20. 22:35ยทDEV/PS

๐Ÿ”— ๋งํฌ

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

 

20208๋ฒˆ: ์ง„์šฐ์˜ ๋ฏผํŠธ์ดˆ์ฝ”์šฐ์œ 

์ฒซ๋ฒˆ์งธ ์ค„์— ๋ฏผ์ดˆ๋งˆ์„์˜ ํฌ๊ธฐ์ธ N๊ณผ ์ง„์šฐ์˜ ์ดˆ๊ธฐ์ฒด๋ ฅ M, ๊ทธ๋ฆฌ๊ณ  ๋ฏผํŠธ์ดˆ์ฝ”์šฐ์œ ๋ฅผ ๋งˆ์‹ค๋•Œ ๋งˆ๋‹ค ์ฆ๊ฐ€ํ•˜๋Š” ์ฒด๋ ฅ์˜ ์–‘ H๊ฐ€ ๊ณต๋ฐฑ์„ ๋‘๊ณ  ์ฃผ์–ด์ง„๋‹ค. N, M, H๋Š” ๋ชจ๋‘ 10๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๋‹ค. ๋‘๋ฒˆ์งธ

www.acmicpc.net

๐Ÿคฏ ํ•œ์ค„ ํ›„๊ธฐ

์Šคํƒ€๋ฒ…์Šค ๋ฏผํŠธ์ดˆ์ฝ” ํ”„๋ผํ‘ธ์น˜๋…ธ ๊ฐœ๋ง›์žˆ์Œ!

๐Ÿคท ๋ฌธ์ œ

๐Ÿ‘ฉ‍๐Ÿ’ป ํ’€์ด

์ง„์šฐ์˜ ์ฒด๋ ฅ๊ณผ ํ˜„์žฌ ๋งˆ์‹  ๋ฏผํŠธ์ดˆ์ฝ”์˜ ๊ฐœ์ˆ˜๋ฅผ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๊ฐ€์ง€๊ณ  ์žฌ๊ท€๋ฅผ ๋Œ๋ฉด๋œ๋‹ค.

์ด๋•Œ ์žฌ๋ฐŒ๋Š” ๊ฒƒ์€ ์ง‘์—์„œ ๋ถ€ํ„ฐ ์ƒํ•˜์ขŒ์šฐ๋กœ ์ด๋™ํ•  ํ•„์š” ์—†์ด ๋ฏผํŠธ ์ดˆ์ฝ” ์œ„์น˜๋งŒ ์ €์žฅํ•ด๋‘๊ณ  ์ˆ˜์‹์œผ๋กœ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค.

์ง‘ (x, y) ์™€ ๋ฏผํŠธ์ดˆ์ฝ” (a, b) ์˜ ๊ฑฐ๋ฆฌ distance = | x - a | + | y - b | ์ด๋‹ค. ๋”ฐ๋ผ์„œ ๋ฏผํŠธ ์ดˆ์ฝ” ์œ„์น˜๋ž‘ ์ง‘์˜ ์œ„์น˜๋งŒ ์ €์žฅํ•ด๋†“๊ณ  ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ•˜๋ฉด์„œ ์ฒด๋ ฅ์„ ๊ณ„์‚ฐํ•ด์ค€๋‹ค. ๋‹ค์Œ ๋ฏผํŠธ ์ดˆ์ฝ” ์œ„์น˜์—์„œ์˜ ์ฒด๋ ฅ์€ ( ํ˜„์žฌ ์ฒด๋ ฅ + H - ๊ฑฐ๋ฆฌ ) ์ด๋‹ค.

๋ฐฑํŠธ๋ž˜ํ‚น ๋ฌธ์ œ๋กœ ์ข…๋ฃŒ ์กฐ๊ฑด์€ ์ฒด๋ ฅ์ด 0๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์•„์ง„ ๊ฒฝ์šฐ, ๋ชจ๋“  ๋ฏผํŠธ ์ดˆ์ฝ”๋ฅผ ๋ฐฉ๋ฌธํ•œ ๊ฒฝ์šฐ์ด๋‹ค.

์žฌ๊ท€๋ฅผ ๋Œ ๋•Œ๋งˆ๋‹ค ๋ฏผํŠธ์ดˆ์ฝ” ๊ฐœ์ˆ˜๊ฐ€ ํ˜„์žฌ ์ตœ๋Œ“๊ฐ’๋ณด๋‹ค ์ปค์ง„๋‹ค๋ฉด ๋ณ€๊ฒฝํ•ด์ค€๋‹ค.

๐Ÿ’ป ์ฝ”๋“œ

//AC
//BOJ 20208 ์ง„์šฐ์˜ ๋ฏผํŠธ์ดˆ์ฝ” ์šฐ์œ 
#include <iostream>
#include <vector>
#include <algorithm>
#include <queue>
#include <string>
using namespace std;
int  N, H, ans, homex, homey;
struct Mint {
    int x;
    int y;
    int check;
};
vector<Mint> v;
void solve(int x, int y, int M, int cnt) {
    if (cnt > ans) {
        if(abs(x - homex) + abs(y - homey) <= M)    ans = cnt;
        
    }
    if (M <= 0 || cnt == v.size()) return;
    for (Mint& mint : v) {
        int dist = abs(mint.x - x) + abs(mint.y - y);
        if (dist <= M && !mint.check) {
            mint.check = 1;
            solve(mint.x, mint.y, M + H - dist, cnt + 1);
            mint.check = 0;
        }
    }
}
int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    int M, temp;
    cin >> N >> M >> H;
    for(int i=0; i<N; i++) {
        for(int j=0; j<N; j++) {
            cin >> temp;
            if(temp == 1) {
                homex = i;  homey = j;
            }
            else if(temp == 2) {
                v.push_back({i, j, 0});
            }
        }
    }
    solve(homex, homey, M, 0);
    cout << ans;
    return 0;
}
์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'DEV > PS' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[BOJ/11968] High Card Wins, c++  (0) 2021.12.22
[BOJ/14746] Closest Pair, c++  (0) 2021.09.20
[BOJ/20218] Parity Constraint Shortest Path, c++  (1) 2021.08.28
[BOJ/20666] ์ธ๋ฌผ์ด์™€ ์ •์ˆ˜, c++  (2) 2021.08.20
[BOJ/20665] ๋…์„œ์‹ค ๊ฑฐ๋ฆฌ๋‘๊ธฐ, c++  (2) 2021.08.20
'DEV/PS' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [BOJ/11968] High Card Wins, c++
  • [BOJ/14746] Closest Pair, c++
  • [BOJ/20218] Parity Constraint Shortest Path, c++
  • [BOJ/20666] ์ธ๋ฌผ์ด์™€ ์ •์ˆ˜, c++
jobchae
jobchae
๋งํ•˜๋Š” ๊ฐ์ž์ง€๋งŒ, ์ฝ”๋“œ๋ฅผ ๋„์ ์ด๋Š” Node.js ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž์ž…๋‹ˆ๋‹ค.
  • jobchae
    JOBCHAE
    jobchae
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๐Ÿš€ JOBCHAE (177)
      • DEV (146)
        • PS (108)
        • Node.js (12)
        • React (3)
        • docker (1)
        • ์žก๋‹คํ•œ ๊ฐœ๋ฐœ ์ผ์ง€ (20)
        • injection (1)
        • CI CD (0)
        • JS, TS (1)
      • ์ถ•๊ตฌ (0)
      • ์ผ์ƒ (19)
      • ์˜ํ™” (3)
      • ์Œ์•… (8)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ๐Ÿ’ป Github
    • ๐Ÿ™‹๐Ÿป Linkedin
    • ๐Ÿ“– ๋ฐฉ๋ช…๋ก
  • ๋งํฌ

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

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    DP
    mongoDB
    ์•Œ๊ณ ๋ฆฌ์ฆ˜
    ์Šฌ๋ž™๋ด‡
    GitHub
    typescript
    Express
    ๋ ›์ธ ๋ฝํŽ˜์Šคํ‹ฐ๋ฒŒ
    ์ผ์ƒ
    Nest.js
    ์Šฌ๋ž™
    ์œ„์ƒ์ •๋ ฌ
    SOPT
    ๋ฐฑ์ค€
    react
    BFS
    ์ด๋ถ„ํƒ์ƒ‰
    boj
    aws
    ์•ฑ์žผ
    DFS
    Nest
    ์šฐ์„ ์ˆœ์œ„ํ
    ํšŒ๊ณ 
    ๋ฆฌ์•กํŠธ
    node.js
    nodejs
    slack
    ์†ํŠธ
    PS
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.0
jobchae
[BOJ/20208] ์ง„์šฐ์˜ ๋ฏผํŠธ์ดˆ์ฝ” ์šฐ์œ , c++
์ƒ๋‹จ์œผ๋กœ

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