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
다시 오렌지 복귀했습니다!
'알고리즘 > Codeforces' 카테고리의 다른 글
[Codeforces] Round #499 (Div. 1) (0) | 2018.07.27 |
---|---|
[Codeforces] Round #493 (Div. 1) (0) | 2018.07.02 |
[Codeforces] Round #488 (Div. 1) (0) | 2018.06.20 |
[Codeforces] Educational Codeforces Round 45 (0) | 2018.06.11 |
[Codeforces] Round #485 (Div. 1) (0) | 2018.05.30 |
[Codeforces] Avito Code Challenge 2018 (0) | 2018.05.28 |