Notice
Recent Posts
Recent Comments
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Archives
Today
Total
관리 메뉴

블로그 언저리인 무언가

[백준/BOJ] 2758 로또 본문

Programming/BOJ

[백준/BOJ] 2758 로또

he1fire 2020. 11. 17. 16:27
728x90

문제 : 2758 로또

 

2758번: 로또

선영이는 매주 엄청난 돈을 로또에 투자한다. 선영이가 하는 로또는 1부터 m까지 숫자 중에 n개의 수를 고르는 로또이다. 이렇게 열심히 로또를 하는데, 아직까지 한 번도 당첨되지 않은 이유는

www.acmicpc.net

M이하의 수중에서 N개의 수를 뽑을 때,

앞의 수보다 2배가 되는 규칙을 따를 때 경우의 수를 세는 문제이다.

앞의 수 중에서 현재수/2보다 작은 수들의 경우의 수를 모두 더하는

DP테이블을 만들어 채운 후 모두 더해 출력하면 된다.


Code

#include <bits/stdc++.h>
#define ll long long
using namespace std;
ll T, N, M, arr[15][2005];
int main(){
    ios::sync_with_stdio(0);
    cin.tie(0);
    for (int i=1;i<=10;i++){
        for (int j=1;j<=2000;j++){
            ll cnt=0;
            for (int k=1;k<=j/2;k++)
                cnt+=arr[i-1][k];
            if (i==1)
                cnt=1;
            arr[i][j]=cnt;
        }
    }
    cin >> T;
    while (T--){
        cin >> N >> M;
        ll ans=0;
        for (int i=1;i<=M;i++)
            ans+=arr[N][i];
        cout << ans << "\n";
    }
    return 0;
}
728x90

'Programming > BOJ' 카테고리의 다른 글

[백준/BOJ] 18115 카드 놓기  (1) 2020.11.20
[백준/BOJ] 2529 부등호  (0) 2020.11.19
[백준/BOJ] 5972 택배 배송  (0) 2020.11.16
[백준/BOJ] 20114 미아 노트  (0) 2020.11.13
[백준/BOJ] 4781 사탕 가게  (0) 2020.11.12
Comments