본문 바로가기

problem solving/TopCoder

TopCoder - SRM 몽땅 풀기 ( 노트 )


SRM 158 - Div2 Level2 (500 point)

<num>+<num>=<num>형식의 식이 주어지면  2~20진수 수체계 중 이 식을 만족하는 base를 찾아서 리턴하는 것이 문제였는데, 테스트케이스 0+0=0 에서 1,2,3, ... , 20 을 리턴해버렸음. 세상에 1진수라니 ㄷㄷㄷ....


SRM 159 - Div2 Level 2 (500 point)

배열(혹은 set)의 합집합, 교집합, 합집합-교집합 구하기

합집합: set_union(A.begin(), A.end(), B.begin(), B.end(), back_inserter(C));
교집합: set_intersection(A.begin(), A.end(), B.begin(), B.end(), back_inserter(C));
합집합-교집합: set_symmetric_difference(...);

A와 B는 정렬되어 있어야함



SRM 162 - Div2 Level 2 (500 point)

정말 어처구니 없게 틀렸다.
문제에서 종이를 반을로 접는데 총 8번까지 접을 수 있다고 했다. 그럼 루프는
for (int i = 0; i <= 8; i++)

이런 식으로 되어야 하는데 어처구나 없게
for (int i = 0; i < 8; i++)

이라고 해서 틀렸다.
이런 실수는 제발 하지 말자

 
SRM 170 - Div2 Level2 (500 Point)

점화식이 주어지고 점화식의 n번째 항을 계산하여 10으로 나눈 나머지를 구해야 한다. 
결과가 양수일때와 음수일때의 처리를 따로 해줘야 하는데, 점화식을 계산하기 위해 초기의 k개의 항이 주어진다. 이때 n이 k보다 작거나 같으면 점화식을 계산하는 과정 필요없이 답을 바로 도출할 수 있다.
그런데 이때 10으로 나눈 나머지를 리턴해야하는데 그냥 리턴해버렸음;;;