일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- CS Academy
- scc
- bitmask
- DynamicProgramming
- BOJ
- BST
- disjoint-set
- dynamic programming
- BFSDFS
- hashing
- 백준
- graph
- implementation
- Eulerian path
- backtracking
- Eulerian circuit
- Euler circuit
- Segment Tree
- Sieve_of_Eratosthenes
- GCD
- Greedy
- Algospot
- mathematics
- Cycle detecting
- flows
- Euler path
- Shortest path
- graph modeling
- POJ
- Dag
- Today
- Total
목록Contest, Other tests (17)
그냥 하는 노트와 메모장
A. Garden 바닥에 물을 흘리지 않는 -> 약수인, 최대값을 찾으면 된다. #include int main() { int n, k,d,ans=1; scanf("%d%d", &n, &k); while (n--) { scanf("%d", &d); if (!(k%d)) ans = ans > d ? ans : d; } printf("%d", k / ans); return 0; } B. Browser left, right가 존재하는 구간이 전체에 대해서 3가지 밖에 없다. 왼쪽에 몰린 경우, 오른쪽에 몰린 경우, 가운데에 있는 경우. 이 세가지 경우를 고려하여 범위 및 Greedy 접근을 하여 해결한다. #include int abs_v(int a) { return a < 0 ? -a : a; } int m..
A. Hawk eyes 모든 경우에 대해 switch~case 문으로 값을 변경해주는 것으로 구성하면 된다. 마지막엔 순회하여 위치값을 출력해준다. #include #include int main() { char S[201]; int cup[4] = { 1,0,0,2 },i; scanf("%s", S); for (i = 0; S[i]; i++) { switch (S[i]) { case 'A': std::swap(cup[0], cup[1]); break; case 'B': std::swap(cup[0], cup[2]); break; case 'C': std::swap(cup[0], cup[3]); break; case 'D': std::swap(cup[1], cup[2]); break; case 'E': ..