본문 바로가기

백준

18917 수열과 쿼리 38 보면 배열을 딱히 안 만들어도 됐었다. 더하고 빼면 되고 xor도 같은 수를 한번 더 xor하면 원래대로 돌아오는 성질이 있다. #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define xx first #define yy second #define all(x) (x).begin(), (x).end() #define MAX 987654321 using namespace std; using i64 = long long int; using ii = pair; using iis = p.. 더보기
15565 귀여운 라이언 투포인터로 왔다갔다 풀었다 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define xx first #define yy second #define all(x) (x).begin(), (x).end() #define MAX 987654321 using namespace std; using i64 = long long int; using ii = pair; using iis = pair; using ii64 = pair; using iii = tuple; int main() { i.. 더보기
2410 2의 멱수의 합 #include #include #include #include #include #include #include #include #include #include #include #define xx first #define yy second using namespace std; using i64 = long long; using ii = pair; using ii64 = pair; #define MOD 1000000000 int ans; int dp[1000005]; int main() { int n; scanf("%d", &n); dp[0] = 1; for (int two = 1; two 더보기
2251 물통 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define xx first #define yy second #define all(x) (x).begin(), (x).end() using namespace std; using i64 = long long int; using ii = pair; using iis = pair; using ii64 = pair; using iii = tuple; bool visited[205][205][205]; struct bottle { int a,.. 더보기
10971 외판원 순회 2 https://www.youtube.com/watch?v=cdPBs_EsHbc 분명 알고리즘 수업 떄 들었는데? 기억이 안 나서 위 유튜브 보면서 다시 공부했다. 아.. 이런거였지 싶음. 그런데 NP인데?? DP로도 하기 어려운데 어떻게 풀지?? 다행히 n이 10 이하였다. 그래서 재귀로 하나씩 확인했다. #include #include #include #include #include #include #include #include #include #include #include #define xx first #define yy second using namespace std; using i64 = long long; using ii = pair; using ii64 = pair; bool visited.. 더보기
1992 쿼드트리 풀었다. 내가해냄 #include #include #include #include #include #include #include #include #include #include #include #define xx first #define yy second using namespace std; using i64 = long long; using ii = pair; using ii64 = pair; int arr[100][100]; void solve(int n, int x, int y) { if (n == 1) { printf("%d", arr[x][y]); return; } bool isOne = true, isZero = true; for (int i = 0; i < n; i++) { for (int.. 더보기
1991 트리 순회 아 재밌다. 처음에 어떻게 하지 싶었는데 덕분에 중위 후위 전위 순회 방식 잘 알게됨 #include #include #include #include #include #include #include #include #include #include #include #define xx first #define yy second using namespace std; using i64 = long long; using ii = pair; using ii64 = pair; vector adj[30]; int dot = 'Z' + 1; void preorderTraversal(int curr) { printf("%c", curr + 'A'); if (adj[curr][0] != dot) { preorderTrave.. 더보기
2156 포도주 시식 디피인것 같은데 좀 더 고민해봐야할듯 https://yabmoons.tistory.com/512 [ 백준 2156 ] 포도주 시식 (C++) 백준의 포도주 시식(2156) 문제이다. [ 문제 바로가기 ] [ 문제풀이 ] 간단한 예시를 통해서, 포도주를 어떻게 마셨을 때, 가장 최대로 마실 수 있는지 알아보자. 5개의 포도주 잔이 있고, 그 5개의 yabmoons.tistory.com 이분 풀이 참고해서 풀었다. 이렇게 생각을 해야 하는구나. #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #incl.. 더보기