티스토리 뷰
아침에 일어나 확인해보니 챌당했다 ㅠㅠ.. 지금까지 div1은 항상 한가지 예외처리(..)를 하지 않아서 당했었는데 일단 다시 풀어보았다.
다시푼 코드
class CountingSeries { public: bool isDuplicated(long long n, long long a, long long b){ if(a > n) return false; return (n-a)%b == 0; } long long countThem(long long a, long long b, long long c, long long d, long long upperBound) { long long result = 0; if(a <= upperBound){ result = (upperBound-a)/b+1; } if(d == 1){if(c <= upperBound && isDuplicated(c, a, b) == false) result++; }else{ while(c <= upperBound){ if(isDuplicated(c, a, b) == false) result++; c *= d; } } return result; }
};
System Test통과. 엇.?
제출했던 코드를 보니.. d가 1일경우 중복처리를 안했다 orz...
class CountingSeries { public: long long countThem(long long a, long long b, long long c, long long d, long long upperBound) { long long maxX = upperBound < a ? 0 : (upperBound-a)/b+1; long long maxY = 0; long long ex = c; if(d == 1) maxY = upperBound >= c ? 1 : 0; else{ while(ex <= upperBound) { if(ex < a || (ex-a)%b != 0){ printf("O : %lld\n", ex); maxY++; }else{ printf("X : %lld\n", ex); } ex *= d; } } return maxX+maxY; }
};
댓글
-
TitaniumSpider 으흣 'ㅁ' 다음엔 문제도 올려주시면 안되요? 2012.02.06 11:28 신고
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- 341,524
- Today
- 0
- Yesterday
- 1
TAG
- 한빛리더스
- 접사
- Google Code Jam
- 리눅스마스터1급
- 티크루
- UVA
- 도서감상
- u10
- Programming Challenges
- 게임프로그래밍전문가
- 게임회사
- 병역특례
- C++
- Topcoder
- ACM-ICPC
- 키보드
- 알고리즘
- WIPI
- OpenGL
- LC-Display
- 한빛미디어
- 공부
- GX100
- SRM
- 자격증
- 영화감상
- 프로그래머 두뇌단련 퍼즐 44제
- 통기타
- 서태지
- 한국기술교육대학교