※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※
이번에 볼 문제는 백준 22093번 문제인 Соцопрос이다.
문제는 아래 링크를 확인하자.
https://www.acmicpc.net/problem/22093
어떤 문제 하나에 대하여 N명의 사람 중 A명이 이 문제의 풀이를 알고 N명의 사람 중 B명은 (이 문제의 풀이를 알더라도) 이 문제를 해결하려고 시도하지 않을 때(즉 B명을 제외한 사람은 풀이를 안다면 이 문제를 해결할 때), 이 문제를 해결하게 될 사람의 수의 최댓값과 최솟값을 구하는 문제이다.
최솟값의 경우 문제의 풀이를 알고 있는 A명 중 가능한 많은 사람들이 (이 문제의 풀이를 알더라도) 이 문제를 해결하려고 시도하지 않을 경우에서 찾을 수 있고, 최댓값의 경우 문제의 풀이를 모르는 N-A명 중 가능한 많은 사람들이 (이 문제의 풀이를 알더라도) 이 문제를 해결하려고 시도하지 않을 경우에서 찾을 수 있음을 관찰해 문제를 해결하자.
아래는 제출한 소스코드이다.
#include <iostream>
using namespace std;
int T;
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
cin >> T;
while (T--) {
int N, A, B; cin >> N >> A >> B;
cout << max(A - B, 0) << ' ' << min(N - B, A) << '\n';
}
}
728x90
'BOJ' 카테고리의 다른 글
[BOJ 24311 // C++] ПЪТУВАНЕ (0) | 2023.01.06 |
---|---|
[BOJ 5157 // C++] Bailout Bonus (0) | 2023.01.06 |
[BOJ 25495 // C++] 에어팟 (0) | 2023.01.05 |
[BOJ 11176 // C++] In the Shower (0) | 2023.01.05 |
[BOJ 21280 // C++] Förvirrad föreläsare (0) | 2023.01.05 |