-
[BOJ] 2798 : 블랙잭
2798 : 블랙잭 풀이 퇴근 하고 싶다 코드 #include <stdio.h> int n, m, i, j, k, a[101], ans; int main() { scanf("%d %d", &n, &m); for (int i = 0; i < n; i++) scanf("%d", &a[i]); for (i = 0; i < n; i++) for (j = 0; j < n; j++) for (k = 0; k < n; k++) if (i != j && j != k && k != i) { int t...
-
[BOJ] 1727 : 커플 만들기
1727 : 커플 만들기 풀이 D[n][m] = 오름차순으로 남자 n명, 여자 m명을 짝짓는 최소의 값 D[n][m] = min(D[n-1][m-1] + abs(man[n] - woman[m]), D[n-1][m]) (if n > m) D[n][m] = min(D[n-1][m-1] + abs(man[n] - woman[m]), D[n][m-1]) (if n < m) 코드 #include <stdio.h> #include <algorithm> using namespace std; int abs(int a) { return a < 0 ? -a : a; } int n, m, a[1001], b[1001], d[1001][1001]; int main() { scanf("%d %d", &n, &m); for (int...
-
[BOJ] 11724 : 연결 요소의 개수
11724 : 연결 요소의 개수 풀이 느낌있게 깊이우선탐색 코드 #include <iostream> #include <vector> using namespace std; int n, m, ans, vst[1001]; vector<int> gph[1001]; void dfs(int now) { vst[now] = 1; for (int nxt : gph[now]) if (!vst[nxt]) dfs(nxt); } int main() { ios_base::sync_with_stdio(0);cin.tie(0); cin >> n >> m; for (int i = 0, u, v; i < m; i++) { cin >> u >> v; gph[u].push_back(v), gph[v].push_back(u); } for (int i = 1; i <=...
-
[BOJ] 11004 : K번째 수
11004 : K번째 수 풀이 원래는 퀵소트를 응용한 퀵서치(?) 뭐 그런 걸로 짜야한다는데 귀찮아서 레퍼런스를 뒤져보니 엄청난 물건을 찾아냈다 (!!) 코드 #include <iostream> #include <algorithm> using namespace std; int n, k, a[5000005]; int main() { ios_base::sync_with_stdio(0);cin.tie(0); cin >> n >> k; for (int i = 0; i < n; i++) cin >> a[i]; nth_element(a, a + k - 1, a + n); cout << a[k - 1]; return 0; } 아무말 백준, 백준 온라인 저지,...
-
[BOJ] 2525 : 오븐 시계
2525 : 오븐 시계 풀이 나눗셈을 오지고 지리게 해보자. 코드 #include <stdio.h> int main() { int a, b, c; scanf("%d %d %d", &a, &b, &c); b += c, a += b / 60; b %= 60, a %= 24; printf("%d %d", a, b); return 0; } 아무말 백준, 백준 온라인 저지, BOJ, Baekjoon Online Judge, C, C++, 씨, 씨쁠쁠, JAVA, algorithm, 자바, 알고리즘, 자료구조, 문제, 문제 풀이, 풀이
-
[BOJ] 2522 : 별찍기 - 12
2522 : 별찍기 - 12 풀이 오늘도 별이 바람에 스치운다 코드 #include <cstdio> int abs(int a) { return a < 0 ? -a : a; } int main() { int n, i, j, k; scanf("%d", &n); for (i = 1; i < n * 2; i++) { for (j = 0; j < abs(n - i); j++) printf(" "); for (k = 0; k < n - j; k++) printf("*"); puts(""); } return 0; }...
-
[BOJ] 2581 : 소수
2581 : 소수 풀이 소수를 멋지게 구해보자. 코드 #include <stdio.h> int n, m, sum, min; void f(int k) { if (k == 1) return; for (int i = 2; i <= k / 2; i++) if (k % i == 0) return; if (!min) min = k; sum += k; } int main() { scanf("%d %d", &n, &m); for (int i = n; i <= m; i++) f(i); if (!sum) printf("-1"); else printf("%d\n%d", sum, min);...
-
[BOJ] 1158 : 조세퍼스 문제
1158 : 조세퍼스 문제 풀이 단순 구현 코드 #include <bits/stdc++.h> using namespace std; int n, m, pos; vector<int> a; int main() { cin >> n >> m; for (int i = 0; i < n; i++) a.push_back(i + 1); printf("<"); while (1) { pos = (pos + m - 1) % a.size(); if (a.size() > 1) { printf("%d, ", a[pos]); } else { printf("%d>", a[pos]); break; } a.erase(a.begin() + pos); } return 0; } 아무말...
-
[BOJ] 1005 : ACM Craft
1005 : ACM Craft 풀이 위상딱 위상딱 신나는 노래 나도 한 번 불러본다~ 코드 #include <iostream> #include <string.h> #include <vector> using namespace std; const int n_ = 1e3 + 3; int req[n_], dst[n_], idg[n_], ans[n_]; vector<int> gph[n_]; void dfs(int now) { idg[now]--; for (int nxt : gph[now]) { ans[nxt] = max(ans[nxt], ans[now] + req[nxt]); if (!(--idg[nxt])) dfs(nxt); } } int main() { ios_base::sync_with_stdio(0);cin.tie(0); int tc; cin >> tc; while (tc--) { int n, k, w;...
-
[BOJ] 2468 : 안전 영역
2468 : 안전 영역 풀이 DFS를 멋있게 폼나게 오지게 간지나게 돌려보자. 코드 #include <stdio.h> #include <string.h> const int dx[] = { 0,0,1,-1 }; const int dy[] = { 1,-1,0,0 }; int n, w, cnt, ans, mx, a[102][102], b[102][102]; inline int max(int a, int b) { return a > b ? a : b; } void dfs(int x, int y) { b[x][y] = 0; for (int i = 0; i < 4; i++) { int nx...