이 영역을 누르면 첫 페이지로 이동
천천히 꾸준히 조용히 블로그의 첫 페이지로 이동

천천히 꾸준히 조용히

페이지 맨 위로 올라가기

천천히 꾸준히 조용히

천천히 꾸준히 조용히.. i3months 블로그

[백준] 3980 선발 명단 - Java

  • 2022.08.17 13:46
  • Algorithm/Baekjoon
반응형

 

 

 

재귀의 basis 조건은 11명을 모두 뽑았을 때이다.

선수의 능력치가 0이 아니면 뽑고, 백트래킹을 돌려서 모든 경우를 탐색하자.

 

 

백트래킹은 정말 많이 풀어봐야 한다.

개념은 알지만 활용하는게 쉽지 않은 단원..

 

 

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

public class Main {
    static int TC;
    static int[][] map;
    static boolean[] visit;

    static int ans;

    static StringBuilder sb = new StringBuilder();
    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));     
        
        TC = Integer.parseInt(br.readLine());

        while(TC-- > 0){
            map = new int[11][11];
            visit = new boolean[11];
            ans = 0;

            for(int i=0; i<11; i++){
                StringTokenizer st = new StringTokenizer(br.readLine());
                for(int j=0; j<11; j++){
                    map[i][j] = Integer.parseInt(st.nextToken());
                }
            }

            bt(0,0);

            sb.append(ans + "\n");
            
            
        }

        System.out.println(sb);
        

    }

    static void bt(int num, int sum){

        if(num == 11){
            ans = Math.max(ans, sum);
            return;
        }
            
        for(int i=0; i<11; i++){
            if(!visit[i] && map[num][i] != 0){
                visit[i] = true;
                bt(num + 1, sum + map[num][i]);
                visit[i] = false;
            }
        }
        
        

        
    }
}
반응형
저작자표시 (새창열림)

'Algorithm > Baekjoon' 카테고리의 다른 글

[백준] 17136 색종이 붙이기 - Java  (0) 2022.08.17
[백준] 6443 애너그램 - Java  (0) 2022.08.17
[백준] 1325 효율적인 해킹 - Java  (0) 2022.08.14
[백준] 1600 말이 되고픈 원숭이 - Java  (0) 2022.08.13
[백준] 16235 나무 재테크 - Java  (0) 2022.08.13

댓글

이 글 공유하기

  • 구독하기

    구독하기

  • 카카오톡

    카카오톡

  • 라인

    라인

  • 트위터

    트위터

  • Facebook

    Facebook

  • 카카오스토리

    카카오스토리

  • 밴드

    밴드

  • 네이버 블로그

    네이버 블로그

  • Pocket

    Pocket

  • Evernote

    Evernote

다른 글

  • [백준] 17136 색종이 붙이기 - Java

    [백준] 17136 색종이 붙이기 - Java

    2022.08.17
  • [백준] 6443 애너그램 - Java

    [백준] 6443 애너그램 - Java

    2022.08.17
  • [백준] 1325 효율적인 해킹 - Java

    [백준] 1325 효율적인 해킹 - Java

    2022.08.14
  • [백준] 1600 말이 되고픈 원숭이 - Java

    [백준] 1600 말이 되고픈 원숭이 - Java

    2022.08.13
다른 글 더 둘러보기

정보

천천히 꾸준히 조용히 블로그의 첫 페이지로 이동

천천히 꾸준히 조용히

  • 천천히 꾸준히 조용히의 첫 페이지로 이동

검색

방문자

  • 전체 방문자
  • 오늘
  • 어제

카테고리

  • 분류 전체보기 (677)
    • Algorithm (205)
      • Data Structure (5)
      • Theory && Tip (33)
      • Baekjoon (166)
      • ALGOSPOT (1)
    • Spring (123)
      • Spring (28)
      • Spring Web MVC (20)
      • Spring Database (14)
      • Spring Boot (6)
      • Spring 3.1 (11)
      • Spring Batch (6)
      • Spring Security (16)
      • JPA (12)
      • Spring Data JPA (5)
      • QueryDSL (4)
      • eGovFramework (1)
    • Programming Language (74)
      • C (25)
      • C++ (12)
      • Java (19)
      • JavaScript (15)
      • Python (1)
      • PHP (2)
    • Computer Science (142)
      • Machine Learning (38)
      • Operating System (18)
      • Computer Network (28)
      • System Programming (22)
      • Universial Programming Lang.. (8)
      • Computer Architecture (4)
      • Compiler Design (11)
      • Computer Security (13)
    • Database (21)
      • Database (7)
      • MySQL (3)
      • Oracle (3)
      • Redis (5)
      • Elasticsearch (3)
    • DevOps (20)
      • Docker && Kubernetes (8)
      • Jenkins (4)
      • Amazon Web Service (8)
    • Mobile (28)
      • Android (21)
      • Flutter (7)
    • 💡 솔루션 (17)
    • 👥 모각코 (9)
    • 💬 기록 (7)
    • 📚 공부 (6)
    • -------------- (25)

최근 글

나의 외부 링크

메뉴

  • 홈
반응형

정보

i3months의 천천히 꾸준히 조용히

천천히 꾸준히 조용히

i3months

블로그 구독하기

  • 구독하기
  • RSS 피드

티스토리

  • 티스토리 홈
  • 이 블로그 관리하기
  • 글쓰기
Powered by Tistory / Kakao. Copyright © i3months.

티스토리툴바