-
[BOJ] 2775 : 부녀회장이 될테야
2775 : 부녀회장이 될테야 풀이 점화식을 오지게 세워보자~ d[i][j] = i층 j호에 사는 사람의 수 d[i][j] = d[i-1][j] + d[i][j-1] 코드 #include <stdio.h> int t, n, k, d[15][15]; int main() { for (int i = 1; i < 15; i++) d[0][i] = i; for (int i = 1; i < 15; i++) for (int j = 1; j < 15; j++) d[i][j] = d[i-1][j] + d[i][j-1]; scanf("%d", &t); while (t--) { scanf("%d %d", &k, &n);...
-
[BOJ] 2042 : 구간 합 구하기
2042 : 구간 합 구하기 풀이 세그트리를 짜보자~ 코드 #include <iostream> using namespace std; typedef long long ll; const int n_ = 1048576 + 1; int n, m, k, arr[n_]; ll tree[n_ * 2]; ll init(int now, int lft, int rgt) { if (lft == rgt) return tree[now] = arr[lft]; return tree[now] = init(now * 2, lft, (lft + rgt) / 2) + init(now * 2 + 1, (lft + rgt) / 2 + 1,...
-
[BOJ] 2953 : 나는 요리사다
2953 : 나는 요리사다 풀이 아 출근하기 싫다 코드 i = 5, j, a, s, mn, mx; main() { while (i--) { for (j = 0, s = 0; j < 4; j++) scanf("%d", &a), s += a; if (mx < s) mn = 5 - i, mx = s; } printf("%d %d", mn, mx); } 아무말 백준, 백준 온라인 저지, BOJ, Baekjoon Online Judge, C, C++, 씨, 씨쁠쁠, JAVA, algorithm, 자바, 알고리즘, 자료구조, 문제,...
-
[BOJ] 1966 : 프린터 큐
1966 : 프린터 큐 풀이 프린터 터져욧!! 코드 #include </bits/stdc++.h> using namespace std; int main() { int tc; scanf("%d", &tc); while (tc--) { int n, m, cnt = 1; queue<pair<int, int> > qu; priority_queue<int> pq; scanf("%d %d", &n, &m); for (int i = 0, a; i < n; i++) { scanf("%d", &a); qu.push({ a,i }); pq.push(a); } while (!pq.empty()) { auto n1 = qu.front(); int n2 = pq.top(); if (n1.first == n2) { if (n1.second...
-
[BOJ] 2309 : 일곱 난쟁이
2309 : 일곱 난쟁이 풀이 돌려돌려~ 코드 #include <stdio.h> #include <algorithm> int a[10]; int main() { for (int i = 0; i < 9; i++) scanf("%d", &a[i]); std::sort(a, a + 9); for (int i = 0; i < (1 << 9); i++) { int cnt = 0, sum = 0; for (int j = 0; j < 9; j++) if ((1 << j) & i) cnt++, sum += a[j]; if (cnt != 7 || sum...
-
[BOJ] 11722 : 가장 긴 감소하는 부분 수열
11722 : 가장 긴 감소하는 부분 수열 풀이 죽을 것 같아도 미칠 것 같아도 하늘만 뚫어지게 보며 버텼죠 그대를 본다면 눈물을 본다면 분명 난 주저앉고 말테니 코드 #include <stdio.h> #include <algorithm> using namespace std; int n, tmp, len, a[1001], d[1001]; int main() { scanf("%d", &n); for (int i = 0; i < n; i++) { scanf("%d", &tmp); auto ret = lower_bound(a, a + i, tmp, [](const int &i, const int &j) { return i >...
-
[BOJ] 6603 : 로또
6603 : 로또 풀이 그댈 그린 밤들이 내게 욕심이란 걸 맘 아프게 알아 나를 택한 운명이 행여 그댈 맴돌아 붙잡지 못하게 이제 그대 곁에서 떠나가 코드 #include <stdio.h> int k, s[51], a[7]; void dfs(int len, int cnt) { if (cnt == 6) { for (int i = 1; i <= 6; i++) printf("%d ", a[i]); puts(""); return; } if (len >= k) return; a[cnt + 1] = s[len + 1]; dfs(len + 1, cnt +...
-
[BOJ] 1182 : 부분집합의 합
1182 : 부분집합의 합 풀이 완전탐색! dfs로 짜도 되고 n이 작으니까 비트마스킹 해도 된다. 코드 #include <stdio.h> int n, s, ans, a[21]; int main() { scanf("%d %d", &n, &s); for (int i = 0; i < n; i++) scanf("%d", &a[i]); for (int i = 1; i < (1 << n); i++) { int sum = 0; for (int j = 0; j < n; j++) if (i & (1 << j)) sum += a[j]; ans...
-
[BOJ] 5585 : 거스름돈
5585 : 거스름돈 풀이 천 번을 내게 물어봐도 사랑은 그대 하나 깊은 후회 속에 살겠죠 잘못한 일이 왜 이렇게 많은지 평생 그댈 향해서 죄를 빌게요 코드 #include <stdio.h> int n, s, i = 6, a[6] = { 1, 5, 10, 50, 100, 500 }; int main() { scanf("%d", &n); n = 1000 - n; while (i--) while (n >= a[i]) n -= a[i], s++; printf("%d", s); return 0; } 아무말 백준, 백준 온라인 저지, BOJ,...
-
[BOJ] 2875 : 대회 or 인턴
2875 : 대회 or 인턴 풀이 http://codersbrunch.blogspot.kr/2016/09/2875-or.html 코드 #include <stdio.h> #include <algorithm> int n, m, k; int main() { scanf("%d %d %d", &n, &m, &k); printf("%d", std::min({ n/2, m, (n+m-k)/3 })); return 0; } 아무말 백준, 백준 온라인 저지, BOJ, Baekjoon Online Judge, C, C++, 씨, 씨쁠쁠, JAVA, algorithm, 자바, 알고리즘, 자료구조, 문제, 문제 풀이, 풀이