본문 바로가기
Problem Solving/Codeforces

Codeforces Round #268 (Div. 1)

by hongjun7 2016. 12. 23.

A. 24 Game
n < 4일 때에는 해가 없다.
n = 4일 때에는 다 곱하면 24가 된다.
n = 5일 때에는 1+2=3, 5-3=2, 2*4=8, 8*3=24가 된다.
n > 5일 때에
1) 홀수 : n = 5에서 끝의 (n)-(n-1)=1이고, 이걸 매번 24에 곱해주면 된다.
2) 짝수 : n = 4에서 끝의 (n)-(n-1)=1이고, 이걸 매번 24에 곱해주면 된다.

B. Two Sets
2-SAT으로 해결할 수 있다.
각 원소에 대해서 A집합에 속할 때, B집합에 속할 때 서로 충돌되는 애들 사이에 간선을 준다.
A 집합에만 속해야하는 경우, B 집합에만 속해야하는 경우에 대해서도 간선을 준다.
SCC로 확인하고 해를 출력하면 된다.

C. Hack it!
g(x) : 1~x까지의 모든 f값들의 합이라고 정의하자.
g(T)≥a인 R을 이분탐색으로 찾고, two-pointer R=T, L=0에서부터 시작해서 g(R)-g(L)=a인 L과 R을 찾으면 된다.

댓글