이마,이 욕심을 첨부?
이것은이다 현지 최적화 작은 사용하지 않습니다 "로마를 나타내는 숫자"대형을 사용 문제.
첫째로 모두의 기초 구성 로마 숫자를 다음 비교 내림차순
비교는 1000,900 때문에 ... 제한 및 몇 가지 문제, 건설 테이블지도 <INT, 문자열>
그런 다음, 지도 기본 설치 값은 키의 오름차순으로 정렬 ..
내가 가진 작은을 크게 생각 reverse_iterator
클래스 해결 { 공개 : 문자열 intToRoman ( INT의 NUM) { 지도 < INT , 문자열 > CALC = {{ 1000 , " M " }, { 900 , " CM " }, { 500 , " D " }, { 400 , " CD " }, { 100 , " C " }, { 90 , " XC " }, { 50 , "L " }, { 40 , " XL " }, { 10 , " X " }, { 9 , " IX ' }, { 5 , " V " }, { 4 , " IV " }, { 1 , " I " }}; 지도 < INT , 문자열 > :: reverse_iterator의 ITER = calc.rbegin (); 문자열 RET; 동안 ! (ITER = CALC.범 ()) { 경우 (NUM> = iter-> 제) { RET + = iter-> 제; NUM - = iter-> 제; } 다른 ITER ++ ; } 반환 RET를; } };