링크 : http://tenka1-2017.contest.atcoder.jp/ C,D 두 문제 풀고 285등. 사실 E,F번 둘 다 내가 풀기엔 좀 어려운 문제들이라 어차피 두 문제밖에 못 풀었을 것 같긴 한데, D번 문제가 그렇게 까다로운 문제가 아님에도 불구하고 코딩을 제대로 못해서 각종 예외케이스들 때문에 7번이나 오답을 낸 끝에 겨우겨우 통과해서 굉장히 짜증이 났었다. 좀 예외를 잘 생각하고 빈틈없이 코딩하는 습관을 들여야하는데 아직도 그게 잘 안 된다. 레이팅 반영되면 점수 좀 깎일 것 같아서 슬펐는데 이상하게 아직도 레이팅 반영이 안 됨. 언레이티드인가?? C. 4/N 4/N = 1/h+1/n+1/w가 되는 h,n,w를 찾는 문제다. 그렇게 어려운 문제가 아닌데 이상하게 괜히 어렵게 생각했다가..
문제 링크 : https://www.acmicpc.net/problem/5858 1차원 선상에서 소가 좌우로 움직이는데 이 때 두 번 이상 방문한 칸의 개수가 몇 개인지 구하는 문제이다. 움직인 총 거리 상한이 10억으로 주어져 있기 때문에, 단순히 움직이는 걸 시뮬레이션하면서 따라가면 시간 초과가 난다. 왼쪽, 오른쪽으로 이동 방향이 두 가지라 헷갈릴 수 있지만, 왼쪽으로 움직였든 오른쪽으로 움직였든 상관없이 특정 위치를 몇 번 방문했는지만 중요하기 때문에 모두 오른쪽으로 움직인 구간으로 생각하고 구간에 들어갈 때 +1, 나갈 때 -1로 배열을 기록해서 만들어 두면 쉽게 계산할 수 있다. 이 때 값이 바뀌는 양 끝 구간 개수는 최대 2N개 생기고, 이 위치를 저장하고 관리하기 위해 map등의 자료 구조..