AtCoder Beginner Contest 120 A - Favorite Sound 문제 설명대로, \(\min (\lfloor \frac{b}{a} \rfloor,c)\)를 출력하면 된다.12345678910#include int main() { int a, b, c; scanf("%d %d %d", &a, &b, &c); printf("%d", std::min(b / a, c)); return 0;}Colored by Color Scriptercs B - K-th Common Divisor \(\max (a,b)\)부터 공약수를 세서 \(K\)번째 공약수를 출력하면 된다.1234567891011121314151617181920#include int main() { int a, b, k; scanf(..
AtCoder Beginner Contest 119 A - Still TBD \(\text{년도}\times 800 + \text{월}\times 40 + \text{일}\)로 계산하면 그나마 구현이 편하다.123456789101112#include int main() { int a, b, c; scanf("%d/%d/%d", &a, &b, &c); a = a * 40 * 20 + b * 40 + c; printf("%s", a > n; long long tot1 = 0; double tot2 = 0; while (n--) { string x, u; cin >> x >> u; if (u == "JPY") tot1 += stoll(x); else tot2 += stod(x); } printf("%.10lf..
Codeforces Round #541 (Div. 2) 보라색 달려고 2시간 정말 꽉꽉 채워서 해봤다... A. Sea Battle생각해보면, 모든 경우에서 \(4+2\text{max}(w_1,w_2)+2h_1+2h_2\)가 답이 된다.대충 생각해보고 그냥 제출해놨다가 다른거 다 풀고 다시풀려고했는데, 시간을 풀로 써서 다시 풀 시간이 없었다.그래도 이 방법이 맞아서 다행이다. 12345678910#include int main() { int a, b, c, d; scanf("%d %d %d %d", &a, &b, &c, &d); printf("%d", 4 + 2 * (std::max(a, c) + b + d)); return 0;}Colored by Color Scriptercs B. Draw!일단 \..
카드놀이(https://www.acmicpc.net/problem/2066) 어떤 상태까지 도달할 확률이 \(p\)이고, 이 상태에서 고를 수 있는 방법이 \(N\)개가 있다면, 다음 상태로 넘어갈 확률은 \(\frac{p}{N}\)다.문제는 구현하는 방법이다. 상태는 카드가 그룹별로 \(0\)개부터 \(4\)개까지 있을 수 있으니 \(5^9\)개가 있는데, 모든 상태를 확인하면서 또 DP처럼 구하려면 순서가 중요하니 9중 반복문을 써야한다.하지만 그러면 코드가 복잡해지니, 남은 카드의 수의 합은 항상 순서가 있다는 점에서 BFS로 구현했다.상태도 9차원 배열로 만들어두면 코드가 복잡해지니 map을 사용했다. 12345678910111213141516171819202122232425262728293031..
AtCoder Beginner Contest 118 A - B +/- A 문제 설명대로 \(A\)가 \(B\)의 약수면 \(A+B\)를, 아니라면 \(B-A\)를 출력하면 된다. 123456789101112131415#include int main() { int a, b; scanf("%d %d", &a, &b); if (b % a == 0) printf("%d", a + b); else printf("%d", b - a); return 0;} cs B - Foods Loved by Everyone이것도 문제 설명대로 각 음식이 몇 번 나왔는지 센 다음에, 모두에게 선택받은 음식의 수를 세면 된다. 1234567891011121314151617181920212223242526272829#include i..
단계별로 풀어보기 jh05013 Edition 문제를 단계별로 풀어볼 수 있습니다. 단계별로 풀어보기 jh05013 Edition pt.1 단계별로 풀어보기 jh05013 Edition pt.2 단계별로 풀어보기 jh05013 Edition pt.3 단계별로 풀어보기 jh05013 Edition pt.4 BOJ 길라잡이 (Beta) https://ryute.tistory.com/33 에서 보면 됩니다. BOJ 길라잡이 베타 (1) BOJ 길라잡이 베타 (2) 19-S Sogang ACM-ICPC Team Application Bronze Silver Gold Platinum 캠프 파티 Small만 풀어봤는데, 재밌고 독특한 문제들이 많습니다. 캠프 파티 (Small) 캠프 파티 (Medium) 캠프 파티..
트리 분할 (http://boj.kr/2454) KOI 고등부 3번 문제인데 내 힘으로 풀게 되어서 꽤 뿌듯하다. 문제 이름대로 주어지는 그래프는 트리형태이니 루트를 기준으로 내려간다고 생각해보자. 그 뒤 루트가 \(i\)번 노드인 서브트리에서의 답을 \(A_i\)라고 하자. 그리고 그 답에서의 \(i\)번 노드를 포함하는 경로의 최소 크기를 \(B_i\)라고 하자. 그러면 이 두 가지를 가지고 DP로 답을 찾을 수 있다.현재 노드가 \(u\)일 때, \(u\)가 루트인 서브트리에서 답이 될 수 있는 경우는 3가지가 있다.1. \(u\)의 자식들의 답은 그대로 두고, 그 상태에서 \(u\) 하나만 있는 경로를 추가하는 경우 2. \(u\)의 자식 중 하나의 경로에 \(u\)를 추가하는 경우 3. \(u\..