[๋ฐฑ์ค€] 14889.์Šคํƒ€ํŠธ์™€ ๋งํฌ/Java - Silver1

2024. 9. 29. 22:20ยทCoding Test/Algorithms

โ“๋ฌธ์ œ

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

๐Ÿ“Œ์œ ํ˜•

๋ฐฑํŠธ๋ž˜ํ‚น

โœ๐Ÿปํ’€์ด

๊ณ ๋ฅด์ง€ ์•Š์€ ์„ ์ˆ˜๋ผ๋ฉด true๋กœ ๋ฐ”๊พธ๊ณ  ์„ ํƒํ•œ ์„ ์ˆ˜ + 1 ๋ถ€ํ„ฐ ์ถ”์ .
n/2๋ช…์„ ๊ณ ๋ฅด๊ณ  ์Šคํƒ€ํŠธํŒ€ ์ ์ˆ˜์™€ ๋งํฌ ํŒ€ ์ ์ˆ˜๋ฅผ ๊ณ„์‚ฐ.
๋‘ ๊ณ„์‚ฐ์˜ ์ฐจ์˜ ์ ˆ๋Œ“๊ฐ’๊ณผ ์ตœ์†Ÿ๊ฐ’์„ ๋น„๊ตํ•˜์—ฌ ๊ฐ€์žฅ ์ฐจ๊ฐ€ ์ž‘์€ ์ตœ์†Ÿ๊ฐ’ ์ฐพ๊ธฐ.

๐Ÿ’ป์ฝ”๋“œ

import java.util.*;
import java.io.*;

public class Main {

    static int n;
    static int min = Integer.MAX_VALUE;
    static int[][] s;
    static boolean[] visited;

    static void backtracking(int len, int idx) {
        if (len == n / 2) {
            int start = 0;
            int link = 0;

            for (int i = 0; i < n - 1; i++) {
                for (int j = i + 1; j < n; j++) {
                    if (visited[i] && visited[j]) {
                        start += s[i][j] + s[j][i];
                    } else if (!visited[i] && !visited[j]) {
                        link += s[i][j] + s[j][i];
                    }
                }
            }

            min = Math.min(min, Math.abs(start - link));
            return;
        }

        for (int i = idx; i < n; i++) {
            if (!visited[i]) {
                visited[i] = true;
                backtracking(len + 1, i + 1); /** ํ˜„์žฌ ์ธ๋ฑ์Šค ์œ„์น˜ + 1 **/
                visited[i] = false;
            }
        }
    }

    public static void main(String[] args) throws IOException {
        BufferedReader r = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st;

        n = Integer.parseInt(r.readLine());
        s = new int[n][n];
        visited = new boolean[n];

        for (int i = 0; i < n; i++) {
            st = new StringTokenizer(r.readLine(), " ");
            for (int j = 0; j < n; j++) {
                s[i][j] = Integer.parseInt(st.nextToken());
            }
        }

        backtracking(0, 0);
        System.out.println(min);
    }
}

๐Ÿ’ก์ƒˆ๋กœ ๋ฐฐ์šด ๋‚ด์šฉ

์ ˆ๋Œ“๊ฐ’ ํ•จ์ˆ˜๋Š” Math ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)

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

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋ฒ ์ŠคํŠธ์•จ๋ฒ”/Java - Lv.3  (0) 2024.10.07
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์™„์ฃผํ•˜์ง€ ๋ชปํ•œ ์„ ์ˆ˜/Java - Lv.1  (0) 2024.10.06
[๋ฐฑ์ค€] 15649.N๊ณผ M (1)/Java - Silver3  (0) 2024.09.29
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์ฃผ์‹๊ฐ€๊ฒฉ/Java - Lv.2  (0) 2024.09.29
[๋ฐฑ์ค€] 28278. ์Šคํƒ 2/Java - Silver4  (0) 2024.09.28
'Coding Test/Algorithms' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋ฒ ์ŠคํŠธ์•จ๋ฒ”/Java - Lv.3
  • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์™„์ฃผํ•˜์ง€ ๋ชปํ•œ ์„ ์ˆ˜/Java - Lv.1
  • [๋ฐฑ์ค€] 15649.N๊ณผ M (1)/Java - Silver3
  • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์ฃผ์‹๊ฐ€๊ฒฉ/Java - Lv.2
The Engineer, Lucy
The Engineer, Lucy
  • The Engineer, Lucy
    Growing up for My Future๐Ÿ’•
    The Engineer, Lucy
    • Instagram
    • GitHub
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (171)
      • Linux (26)
      • Infra (9)
      • Cloud (25)
        • AWS (2)
        • GCP (3)
        • Docker (4)
        • Kubernetes (14)
        • IaC (2)
      • NGINX (1)
      • DevOps (3)
      • Computer Science (17)
        • Data Structure (0)
        • Algorithms (1)
        • Operating System (3)
        • Network (11)
        • Database System (2)
      • Coding Test (85)
        • Algorithms (77)
        • SQL (7)
      • ETC (5)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
  • ๊ณต์ง€์‚ฌํ•ญ

  • ๋งํฌ

    • Lucy's Instagram
    • Lucy's GitHub
  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    ์˜ค๋ธ”์™„
    docker
    ๋ฆฌ๋ˆ…์Šค๋งˆ์Šคํ„ฐ
    ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ
    Baekjoon
    ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
    Shell Script
    Shell
    Linux
    ํ‹ฐ์Šคํ† ๋ฆฌ์ฑŒ๋ฆฐ์ง€
    Kubernetes
    dfs
    programmers
    ์…ธ ์Šคํฌ๋ฆฝํŠธ
    cs ๊ธฐ์ดˆ ์ง€์‹ ์ •๋ฆฌ
    ๋ฆฌ๋ˆ…์Šค๋งˆ์Šคํ„ฐ 2๊ธ‰
    ์ž๋ฐ”
    ๋ฆฌ๋ˆ…์Šค
    ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๊ณต๋ถ€
    ๋„์ปค
    ๋„คํŠธ์›Œํฌ
    ๋ฐฑ์ค€
    ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค
    bfs
    K8s
    network
    ์‰˜ ์Šคํฌ๋ฆฝํŠธ
    ๋„ˆ๋น„์šฐ์„ ํƒ์ƒ‰
    ๋„คํŠธ์›Œํฌ ๊ธฐ์ดˆ ์ง€์‹
    Java
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
The Engineer, Lucy
[๋ฐฑ์ค€] 14889.์Šคํƒ€ํŠธ์™€ ๋งํฌ/Java - Silver1
์ƒ๋‹จ์œผ๋กœ

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