[Codeforces] Round #508

http://codeforces.com/contest/1038

 

육목 만드느라 정신이 나가있어서 이제야 글을 쓰네요. 최근 4개 5개 라운드에서 계속 시스텟이 터져서 이번에는 안그랬으면 좋겠다 싶었습니다.

 

A - Equality (Code)

 

각 문자가 등장한 횟수의 min을 구하면 됩니다.

 

B - Non-Coprime Equation (Code)

 

N이 2 이하이면 불가능하고, N이 3 이상일 경우 N을 홀짝으로 나누어 생각합니다. N이 홀수이면 N과 나머지로 분리, N이 짝수이면 N/2와 나머지로 분리하면 됩니다.

 

C - Gambling (Code)

 

Greedy하게 나의 것, 상대의 것을 가리지 않고 가장 큰 원소를 가지거나 버리는 식으로 하면 됩니다. 두 사람이 모든 수의 절반씩만 가지고 있다고 생각하면 해당 Greedy 알고리즘의 정당성을 증명할 수 있습니다.

 

D - Slime (Code)

모든 슬라임이 +이거나 -인 경우를 제외한 다른 모든 +, - 조합을 만들어낼 수 있기 때문에 음수는 빼고 양수는 더해주는 방식으로 최대한 크게 만들면 됩니다. 모두 양수일 때 / 음수일 때 / N = 1일 때 등에 대한 예외처리를 잘 해두어야 합니다.

 

D에서 해당 성질을 막연하게 짐작은 했지만 확신이 들지 않아 조금 시간이 지체된 것을 제외하고는 잘 풀어냈습니다. E를 못 푼 것은 아쉽습니다.

 

 

'알고리즘 > Codeforces' 카테고리의 다른 글

[Codeforces] Round #511 (Div. 1)  (0) 2018.09.22
[Codeforces] Round #509  (0) 2018.09.19
[Codeforces] Educational Round 50  (0) 2018.09.13
[Codeforces] Round #507  (0) 2018.09.07
[Codeforces] AIM Tech Round 5  (0) 2018.09.03
[Codeforces] Round #505  (0) 2018.08.20
  Comments