본문 바로가기

PS87

AtCoder ABC 260 풀이 https://atcoder.jp/contests/abc260/tasks Tasks - AtCoder Beginner Contest 260 AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online. atcoder.jp A. 1개만 나오는 문자를 출력해주면 됩니다. s[0], s[1], s[2] 개수를 세주고 경우를 나누면 됩니다. #include using namespace std; int main() { cin.tie(0)->sync_with_stdio(0); string s; cin >> s; int c1 = count(s.begin(), s.en.. 2022. 9. 3.
AtCoder ABC 261 풀이 https://atcoder.jp/contests/abc261/tasks Tasks - AtCoder Beginner Contest 261 AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online. atcoder.jp A. 두 선분이 겹치는 길이를 구해주면 됩니다. 1. 안 겹치는 경우 2. 1번이 앞에서 겹치는 경우 3. 2번이 앞에서 겹치는 경우 4. 1번이 2번 안에 있는 경우 5. 2번이 1번 안에 있는 경우 5가지를 조건문으로 처리해줍시다. #include using namespace std; int main() { ios::sync_with.. 2022. 9. 1.
백준 22878 / C++ https://www.acmicpc.net/problem/22878 22878번: 간단한 문제 길이가 $N$인 두 수열 $(p_1, p_2, \ldots, p_N)$, $(q_1, q_2, \dots, q_N)$ 이 주어진다. 이때 다음 값을 구하여라. $$\sum_{i=1}^{N} {\sum_{j=1}^{N} {\min(|p_i - p_j|, |q_i - q_j|)} }$$ www.acmicpc.net [ 풀이 ] 수학문제입니다. 두가지 잘 알려진 식을 이용합니다. 1. max(a, b)+min(a, b)=a+b 2. max(|a|, |b|)= abs((a+b)/2)+abs((a-b)/2) 2번 식은 수직선에서 중점을 잡고 오른쪽 반 칸이 최댓값이므로 쉽게 증명됩니다. 두 식을 이용하면, 식이 pi-p.. 2022. 9. 1.
백준 16726 / C++ https://www.acmicpc.net/problem/16726 16726번: 영과일 학회방 영과일은 학회방이 없어질 위기에 처했지만 우수한 학회원들의 실력을 인정받아 학회방을 다시 배정 받을 수 있었다! 이에 행복해진 영과일 총무부장 재현이는 새로운 마음으로 1 × 2, 1 × 1 타 www.acmicpc.net [ 풀이 ] 예제 생긴것부터 플로우 문제네요. n제한도 작으니... 격자판을 1*2 와 1*1로 채울 수 있습니다. 최소개수가 필요하니 1*2들을 최대한 써줘야 합니다. 격자를 체스판처럼 컬러링한 후 색이 다른걸 이분매칭을 돌려주면 됩니다. 이분매칭으로 최대한 찾은 결과가 k라고 하면, 'X'를 제외한 면적에서 2k가 빠집니다. 그럼 나머지 S-2k는 1*1로 채워야 하므로 S-2k개가 필.. 2022. 8. 31.