TIL day 56은 예비군 훈련을 다녀오느라 없습니다.
1. 코딩 테스트
챌린지반 수업을 통해 들은 내용 중 비트마스킹에 대한 내용이 익숙하지 않아서 관련 문제와 내용을 정리해 보았습니다.
https://gbleem.tistory.com/119
비트 마스킹
비트 마스킹이란 0과 1을 이용해서 연산하는 방식을 말한다.이 방식을 통해서 효율적인 연산이 가능할 때가 있다. 많이 안 써본 방식이기 때문에 관련 수업을 들은 후 내용을 정리하게 되었다.
gbleem.tistory.com
비트마스킹에 대해 공부하던 중 백트래킹에 대한 내용이 있어서 이전에 풀지 못했던 백트래킹 문제를 하나 추가로 풀었습니다.
https://www.acmicpc.net/problem/1182
- 기존에 백트래킹을 통해 모든 경우의 수를 뽑을 때는 수열의 크기가 같은 것을 주로 구했었는데, 이번에는 모든 부분수열을 구하는 문제여서 어려움이 있었습니다.
- 추가적으로 합이 0일때 공집합을 빼줘야 답을 구할 수 있습니다.
더보기
#include <iostream>
using namespace std;
int n, s;
int board[22];
int isused[22];
int temp = 0;
int answer = 0;
void Choose(int cur)
{
if (cur == n)
{
temp = 0;
for (int i = 0; i < n; ++i)
{
//사용된 경우
if (isused[i])
{
temp += board[i];
}
}
if (temp == s)
answer++;
return;
}
//cur를 선택하지 않은 경우
Choose(cur + 1);
//cur를 선택한 경우
isused[cur] = 1;
Choose(cur + 1);
isused[cur] = 0;
}
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cin >> n >> s;
for (int i = 0; i < n; ++i)
{
cin >> board[i];
}
Choose(0);
//합이 0 인 경우
if (s == 0)
answer--;
cout << answer;
}
2. 언리얼 멀티플레이어 세팅
언리얼 멀티플레이어 세팅을 위해서 소스코드를 빌드하는 과정을 진행하였습니다.
'TIL' 카테고리의 다른 글
TIL day 59 (0) | 2025.03.14 |
---|---|
TIL day 58 (0) | 2025.03.13 |
TIL day 55 (0) | 2025.03.10 |
TIL day 54 (ch3 팀 프로젝트 종료) (0) | 2025.03.07 |
TIL day 53 (0) | 2025.03.06 |