코드굽는 타자기

JUNGOL[1810] - 백설공주(Snow White) 본문

알고리즘/완전탐색

JUNGOL[1810] - 백설공주(Snow White)

bright-jun 2020. 1. 28. 16:29

링크

JUNGOL[1810]

문제설명

  • _

문제풀이

  • nCr -> sum check

문제코드

package jungol;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.Arrays;
import java.util.Scanner;

public class Main1810 {
    static int n = 9;
    static int r = 7;
    static int[] nan = new int[9];
    static int[] c_nan = new int[7];
    private static void combination(int cnt, int start) {
        // TODO Auto-generated method stub
        if(cnt==r) {    //순열이 최종(r-1)까지 생성된 순간
            int sum=0;
            for (int i = 0; i < 7; i++) {
                sum+=c_nan[i];
            }
            if(sum==100) {
                for (int i = 0; i < 7; i++) {
                    System.out.println(c_nan[i]);
                }
            }
            return;
        }
        for (int i = start; i < n; i++) {
            c_nan[cnt] = nan[i];
            combination(cnt+1,i+1);    //넣은 숫자는 더이상 고려 안해도 됨 -> 비교할 필요없이 바로 다음 단계(start++)로 넘어감
        }
    }

    public static void main(String[] args) throws FileNotFoundException {
        System.setIn(new FileInputStream("res/1810.txt"));
        Scanner sc = new Scanner(System.in);

        for (int i = 0; i < 9; i++) {
            nan[i]=sc.nextInt();
        }
        combination(0,0);
    }
}

아쉬운점

  • 아직은 nCr 아무것도 안보고 구현 못함

잘한점

  • sum chk
Comments