# Link
https://www.acmicpc.net/problem/2698
2698번: 인접한 비트의 개수
첫째 줄에 테스트 케이스의 수 T(1 ≤ T ≤ 1,000)가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 수 2개가 공백으로 구분되어 이루어져 있다. 첫 번째 수는 n이고, 두 번째 수는 k이다. n과
www.acmicpc.net
# Code - C++
//
// BOJ
// ver.C++
//
// Created by GGlifer
//
// Open Source
#include <iostream>
#include <cstring>
using namespace std;
#define endl '\n'
#define len(x) (int)(x).length()
#define size(x) (int)(x).size()
#define str(x) to_string(x)
#define error logic_error("line " + str(__LINE__))
// Set up : Definitions
/* None */
// Set up : Global Variables
/* None */
// Set up : Functions Declaration
/* None */
int main()
{
// Set up : I/O
ios::sync_with_stdio(false);
cin.tie(nullptr);
// Process
const int MAX = 100;
int dp[MAX+1][MAX+1][2];
memset(dp, 0, sizeof(dp));
dp[1][0][0] = dp[1][0][1] = 1;
for (int i=2; i<=MAX; i++) {
for (int j=0; j<=i-1; j++) {
dp[i][j][0] = dp[i-1][j][0] + dp[i-1][j][1];
dp[i][j][1] = dp[i-1][j][0] + ((j > 0) ? dp[i-1][j-1][1] : 0);
}
}
// Set up : Input
int T; cin >> T;
while (T--) {
int n, k;
cin >> n >> k;
// Process
int ans = dp[n][k][0] + dp[n][k][1];
// Control : Output
cout << ans << endl;
}
}
// Helper Functions
/* None */
지적, 조언, 첨언 모두 환영합니다!!!
'Problem Solving > 백준' 카테고리의 다른 글
| [ Problem Solving :: 백준 ] 2473 / 세 용액 (0) | 2021.11.16 |
|---|---|
| [ Problem Solving :: 백준 ] 11558 / The Game of Death (0) | 2021.11.16 |
| [ Problem Solving :: 백준 ] 14606 / 피자 (Small) (0) | 2021.11.16 |
| [ Problem Solving :: 백준 ] 2616 / 소형기관차 (0) | 2021.11.16 |
| [ Problem Solving :: 백준 ] 2602 / 돌다리 건너기 (0) | 2021.11.16 |