[Codeforces] Round #487 (Div. 2)

http://codeforces.com/contest/989


hack 덕분에 등수가 꽤 높았긴 했지만 C를 많이 늦게 풀었습니다. 또 보통 관례적으로 답 뒤에 whitespace나 '\n'이 포함되어있어도 정답처리를 해주는데 B번 문제에서 답 뒤에 whitespace가 있으면 오답 처리를 해버려서 시간을 억울하게 날렸습니다.


A - A Blend of Springtime


s[i], s[i+1], s[i+2]에 A/B/C가 정확히 한 번씩 존재하는 i가 하나라도 있으면 조건을 만족합니다. substr로 처리를 해도 되고 직접 6개의 경우(ABC ACB BAC BCA CAB CBA)에 대한 조건문을 세워도 되고 방법은 다양합니다. s[i]+s[i+1]+s[i+2] = 'A'+'B'+'C'인지 비교하는 코드들에서 hack을 성공했습니다.(BBB일 때 Yes라고 반환함.)


https://github.com/blisstoner/Codeforces/blob/master/Round%20487%20Div.%202/A.cpp


B - A Tide of Riverscape


s[i], s[i+p]에 대해 하나 이상이 점이거나, s[i] != s[i+p]인 경우가 하나라도 있으면 조건을 만족하는 string을 만들 수 있습니다. i = 0 to n-p-1에 대해 확인하면 됩니다.


https://github.com/blisstoner/Codeforces/blob/master/Round%20487%20Div.%202/B.cpp


C - A Mist of Florescence


영역을 잘 구분할 적절한 구조를 떠올려야 하는데 저는 아래와 같은 모양을 생각했습니다.

AAAAAAAAAAA.....AAAA
AXAXAXAXAXA......AXAX

AAAAAAAAAAA.....AAAA
AXAXAXAXAXA......AXAX

AAAAAAAAAAA.....AAAA
AXAXAXAXAXA......AXAX

AAAAAAAAAAA.....AAAA
AXAXAXAXAXA......AXAB

BBBBBBBBBBBB.....BBBB

BYBYBYBYBYBY.....BYBY

BBBBBBBBBBBB.....BBBB

BYBYBYBYBYBY.....BYBY

BBBBBBBBBBBB.....BBBB

BYBYBYBYBYBY.....BYBY

BBBBBBBBBBBB.....BBBB

BYBYBYBYBYBY.....BYBY

BBBBBBBBBBBB.....BBBB

BYBYBYBYBYBY.....BYBY

.

.

.


X에는 B,C,D가 들어갈 수 있고 Y에는 A,C,D가 들어갈 수 있습니다. 이렇게 하면 A,B,C,D가 모두 100개여도 33*50 사각형 안에 쓸 수 있습니다.


 https://github.com/blisstoner/Codeforces/blob/master/Round%20487%20Div.%202/C.py


다시 오렌지 복귀했습니다!



  Comments