Problem Solving/Codeforces
-
A번(AC) - Ad-hoc, Greedy 여러 상황에 대해서 최적의 해를 구해보면, 무조건 안에 들어있는 셀의 개수만큼의 벽을 지우면 된다는 것을 알 수 있다. 각 셀에 대해서 ㄱ자 모양으로 그리디하게 연결하면 무조건 바깥과 통하는 통로를 만들 수 있음을 알 수 있다. 전체 모양이 직사각형이고, 이는 ㄱ 모양들의 결합으로 볼 수 있기 때문에 반드시 이러한 접근 방법으로 풀 수 있다. #include using namespace std; int main(void){ int t; cin >> t; for(int i = 0; i > a >> b; cout t; for(int i = 0; i < t; i++){ ll n; ll max_value = -1; cin ..
[Codeforces] Round #709 (Div. 2)A번(AC) - Ad-hoc, Greedy 여러 상황에 대해서 최적의 해를 구해보면, 무조건 안에 들어있는 셀의 개수만큼의 벽을 지우면 된다는 것을 알 수 있다. 각 셀에 대해서 ㄱ자 모양으로 그리디하게 연결하면 무조건 바깥과 통하는 통로를 만들 수 있음을 알 수 있다. 전체 모양이 직사각형이고, 이는 ㄱ 모양들의 결합으로 볼 수 있기 때문에 반드시 이러한 접근 방법으로 풀 수 있다. #include using namespace std; int main(void){ int t; cin >> t; for(int i = 0; i > a >> b; cout t; for(int i = 0; i < t; i++){ ll n; ll max_value = -1; cin ..
2021.03.22 -
A번(AC) - 정수론 문제자체는 쉽다. 3개의 숫자의 배수와 주어진 숫자 사이의 차이의 최솟값을 구하면 되는 문제이다. 몇가지 예시를 들면서 상황을 이해하면 쉽게 접근할 수 있는데 예를 들어 3, 4, 5 3개의 숫자가 주어지고 10을 기준으로 차이의 최솟값을 구한다고 해보자 그러면 3 * 4과 10의 차이가 1, 4 * 3와 10 사이의 차이가 2, 5 * 2와 10 사이의 차이의 최솟값을 묻는 문제와 동치임을 쉽게 파악할 수 있다. 즉, 무조건 비교하는 숫자가 3개의 배수보다 적거나나 같을 수 밖에 없다는 사실을 파악할 수 있다. 이때, 결과적으로 p = 해당하는 수 * 몫 + 나머지로 분리해서 해당하는 수 - 나머지를 출력하는 것이 목표이다. 대략적으로 이 상황쯤 되어서 모듈러 연산을 추측했으면 ..
[Codeforces] Round #704 (Div. 2)A번(AC) - 정수론 문제자체는 쉽다. 3개의 숫자의 배수와 주어진 숫자 사이의 차이의 최솟값을 구하면 되는 문제이다. 몇가지 예시를 들면서 상황을 이해하면 쉽게 접근할 수 있는데 예를 들어 3, 4, 5 3개의 숫자가 주어지고 10을 기준으로 차이의 최솟값을 구한다고 해보자 그러면 3 * 4과 10의 차이가 1, 4 * 3와 10 사이의 차이가 2, 5 * 2와 10 사이의 차이의 최솟값을 묻는 문제와 동치임을 쉽게 파악할 수 있다. 즉, 무조건 비교하는 숫자가 3개의 배수보다 적거나나 같을 수 밖에 없다는 사실을 파악할 수 있다. 이때, 결과적으로 p = 해당하는 수 * 몫 + 나머지로 분리해서 해당하는 수 - 나머지를 출력하는 것이 목표이다. 대략적으로 이 상황쯤 되어서 모듈러 연산을 추측했으면 ..
2021.02.24