[코드포스] Codeforces Round #676 (Div. 2)
대회 링크: codeforces.com/contest/1421
A번 문제: codeforces.com/contest/1421/problem/A
문제 제목이 정답이다. 단순히 a xor b를 출력하면 정답이 된다.
#include <bits/stdc++.h>
using namespace std;
int main() {
int testCase;
cin >> testCase;
for (int tc = 0; tc < testCase; tc++) {
unsigned int a, b;
cin >> a >> b;
cout << (a ^ b) << '\n';
}
}
B번 문제: codeforces.com/contest/1421/problem/B
이 문제는 S와 F의 위치에서 인접한 2칸씩만 확인하면 된다. 아래 그림에서 색칠한 부분이 이에 해당한다. 이 아이디어를 떠올릴 수 있으면 문제를 해결할 수 있다.
C번 문제: codeforces.com/contest/1421/problem/C
이 문제에서는 두 가지의 연산을 허용한다.
① L 연산
왼쪽에서 두 번째 인덱스부터 i까지의 문자열을 뒤집어 왼쪽에 붙이는 연산
② R 연산
오른쪽에서 두 번째 인덱스부터 i까지의 문자열을 뒤집어 오른쪽에 붙이는 연산
이것저것 생각하다 보면 다음의 세 연산으로 정답 판정을 받을 수 있다는 것을 알 수 있다.
data = input()
n = len(data)
print(3)
print("L", n - 1)
print("R", n - 1)
print("R", 2 * n - 1)
예시를 들어 그리자면 다음과 같다.
※ 첫 번째 연산 ※
※ 두 번째 연산 ※
※ 세 번째 연산 ※
D번 문제: codeforces.com/contest/1421/problem/D
이 문제는 대략 다음과 같은 코드로 정답 판정을 받을 수 있다. 먼저 6가지 방향에 대해서 최소 거리를 계산한 뒤에, 실제로 6가지 이동 연산을 이용하여 목표 지점까지의 최소 거리를 출력하면 정답이다.
for _ in range(int(input())):
x, y = map(int, input().split())
c1, c2, c3, c4, c5, c6 = map(int, input().split())
# 6가지 방향에 대한 이동 거리 최적화
c1 = min(c1, c2 + c6)
c2 = min(c2, c1 + c3)
c3 = min(c3, c2 + c4)
c4 = min(c4, c3 + c5)
c5 = min(c5, c4 + c6)
c6 = min(c6, c1 + c5)
# 최단 경로 계산하기
'알고리즘 대회' 카테고리의 다른 글
[코드포스] Codeforces Round #690 (Div. 3) (0) | 2020.12.30 |
---|---|
[코드포스] Codeforces Round #678 (Div. 2) (0) | 2020.10.25 |
알고리즘 대회(Competitive Programming)에서 애드혹(Ad-Hoc) 문제란? (0) | 2020.10.18 |
코드포스(Codeforces) 사이트에서 점수 변화와 퍼포먼스를 보여주는 크롬 확장 프로그램 (0) | 2020.10.18 |
[코드포스] Grakn Forces 2020 (0) | 2020.10.01 |
알고리즘 대회(Competitive Programming)에서 애드혹(Ad-Hoc) 문제란?
일반적으로 경쟁적 프로그래밍(Competitive Programming) 대회, 이른바 알고리즘 대회에서는 종종 애드혹(ad-hoc) 문제가 출제된다. 일반적으로 애드혹 문제라고 하는 것은 해당 문제를 풀기 위해 잘 알려진 정교한(sophisticated) 알고리즘을 적용하지 않고 해결할 수 있는 유형의 문제를 일컫는다. 이러한 유형의 문제는 손으로 직접 해당 문제를 해결하기 위한 (해당 문제만을 위한) 아이디어를 찾아서 문제를 해결할 수 있다. 애드혹 문제들을 굳이 분류하자면 단순히 지시(instruction)를 따르면 되는 구현 유형이나 그리디 유형 알고리즘 혹은 수학 유형으로 분류할 수 있는 경우가 많다.
다시 말해 정형화된 방법론이 아니라, 그 문제를 풀기 위한 창의적인 아이디어를 떠올려야 하는 경우에 애드혹 문제라고 한다.
'알고리즘 대회' 카테고리의 다른 글
[코드포스] Codeforces Round #678 (Div. 2) (0) | 2020.10.25 |
---|---|
[코드포스] Codeforces Round #676 (Div. 2) (0) | 2020.10.18 |
코드포스(Codeforces) 사이트에서 점수 변화와 퍼포먼스를 보여주는 크롬 확장 프로그램 (0) | 2020.10.18 |
[코드포스] Grakn Forces 2020 (0) | 2020.10.01 |
[코드포스] Educational Codeforces Round 95 (Rated for Div. 2) (0) | 2020.09.15 |
코드포스(Codeforces) 사이트에서 점수 변화와 퍼포먼스를 보여주는 크롬 확장 프로그램
코드포스(Codeforces) 웹 사이트 내에서 점수 변화 및 퍼포먼스(performance) 정보도 함께 확인하고자 한다면, 캐럿(Carrot) 확장 프로그램을 사용할 수 있습니다. 캐럿을 사용하면 다음과 같이, 내가 오늘 치른 대회에서의 퍼포먼스(performance)와 점수 변화량(delta)을 확인할 수 있습니다.
사이트에 접속한 뒤에 [Chrome에 추가] 버튼을 눌러서 설치하시면 됩니다.
설치 이후에 크롬(Chrome) 브라우저에서 사용 설정을 하시면 곧바로 코드포스 사이트에 접속해서 이용하실 수 있습니다.
'알고리즘 대회' 카테고리의 다른 글
[코드포스] Codeforces Round #676 (Div. 2) (0) | 2020.10.18 |
---|---|
알고리즘 대회(Competitive Programming)에서 애드혹(Ad-Hoc) 문제란? (0) | 2020.10.18 |
[코드포스] Grakn Forces 2020 (0) | 2020.10.01 |
[코드포스] Educational Codeforces Round 95 (Rated for Div. 2) (0) | 2020.09.15 |
[앳코더] AtCoder Beginner Contest #178 (0) | 2020.09.14 |