Hard deck/reindexing d3

080 : 조약돌 꺼내기

서버관리자 페페 2023. 6. 28. 22:09

 

 

조약돌 갯수가 뽑는 갯수보다 클 때만 공간이 열리며

이 때 1.0은 곱하기 누적의 plate다

 

공간에 개폐 or 다른 location으로의 서술 

 

 

 

 

 

 

 

 

 

 

 

 

 

double로 잡아줌

 

 

 

 

 

 

 

 
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Main {
    public static void main(String[] args) throws IOException {

        // ISC
        BufferedReader br =new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine());
        int M = Integer.parseInt(st.nextToken());
        
        // D2F
        st = new StringTokenizer(br.readLine()); // L2
        int[] TP = new int[51];
        int sum = 0;
        for (int i = 0; i < M; i++) {
            TP[i] = Integer.parseInt(st.nextToken());
            sum += TP[i];
        }
        st = new StringTokenizer(br.readLine()); // L3
        int K = Integer.parseInt(st.nextToken());

        double[] probaility = new double[51];
        double plate = 0.0;

        // OP + OEC
        for (int i = 0; i < M; i++) {
            if (TP[i] >= K) {
                probaility[i] = 1.0;
                for (int k = 0; k < K; k++) {
                    probaility[i] *= (double) (TP[i] - k) / (sum - k);
                }
            }
            plate += probaility[i];
        }

        // OEC
        System.out.println(plate);
    }
}

'Hard deck > reindexing d3' 카테고리의 다른 글

078 : 부녀회장이 될 테야  (0) 2023.06.29
081 : 순열의 순서 구하기  (0) 2023.06.29
079 : 다리 놓기  (0) 2023.06.28
077 : 이항계수 구하기 2  (0) 2023.06.28
019 : Quick sort / K번째 수 구하기  (0) 2023.06.28