주제 :
(원래 54 ^ _ ^ 갑판이되었다) ... 그는 무작위로 다섯에서 가져온 그는 한 벌의 카드를 구입하고 실제로 두 왕이가 발견 때문에 LL 특히 기분이 좋은 오늘, 두 개의 작은 왕 당신이 바로 얻을 수있을 수있는 경우 시시 자신의 행운에 원하는 브랜드, 그것을 얻을 경우 수, 그는 헤이, 스포츠 복권을 구입하기로 결정보세요! ! "레드 (A)는, 스페이드, 왕, 왕, 사각형 조각 (5)의 3", "오 나의 하나님!"라고 생각, 결정 \ 에이미로 볼 수있다 스트레이트 ..... LL은 행복하지 않다 임의의 수, 및 1로 간주는 J는 Q가 K (13) (12), (11)이다. 5 개 개의 카드 위는 "1,2,3,4,5"(각각 4로 볼 킹 사이즈, 2), "그래서 럭키!"가 될 수 있습니다. LL 스포츠 복권 친구를 구입하기로 결정했다. 지금, 나는 카드의 조각을 사용하도록 요청 위의 절차를 시뮬레이션하고 우리에게 어떻게 LL 행운, 카드가, 그렇지 않으면 출력 거짓이 출력됩니다 true로 직선으로 구성 할 수있는 경우. 편의를 위해, 당신은 킹 사이즈 생각할 수는 0입니다.
아이디어 :
캐주얼 상술 한 특정 정보는, 0-13, 총 14 자리 작업 0 판정 연속 직선하지 다음 다섯 개 개의 숫자를 입력 숫자를 제공 할 수있다.
어떻게 당신은 그것을 분석합니까?
분명히 0 모든 요소의 역할을 수행 할 수 있습니다. 그것은 단지 최대 4 인 0의 수;
물론, 종래의 일반적인 조건 결정 배열에 더하여 : 배열 길이 5, 숫자 배열 범위 (0-13하지 사이), 거짓을 반환하지 않다;
물론, 0이 아닌 반복 할 수 있으며, 다른 요소는 반환 거짓을 반복;
다른 요소가 반복되지 않는 경우, 최대 값을 최대 분 <= 4를 뺌으로써 비 - 제로 비제 최소값;
그것은 왜? 제 때문에, 최대 4 0 반복, 둘째, 만약 최대 값을 감산하여 비제 비제 최소값 최대 분> = 5] 다음의 최대 및 최소 명령어 적어도 네 개의 요소 . 그리고 이러한 조건 하에서, 0 요소 최대 세, 분명히 똑바로 구성하지
아니 몇 가지 간단한 코드는 다음과 같습니다 :
. (1 개) 클래스 해결 { 2 공개 : 3. BOOL IsContinuous (벡터 < INT > 번호) { 4. // 킹 0 (4 0), 1-13에서 남은 (네) 5. IF (numbers.size ( !) = 5 ) // 거짓, 배열 길이가없는 5 리턴 . 6 창 은 false ; . (7) 에 대한 ( INT I = 0 ; I <numbers.size (); I ++ ) 8. IF (번호 [I] < 0 || 번호 [ I]> 13입니다 ) // 간격 요구 사항을 충족하지 않는 값을 false로 반환 . 9 반환 거짓 ; 10 정렬 (numbers.begin () numbers.end ()); // 정렬 11. 에 대한 ( INT I = 0 ; I <numbers.size () - . 1 ; I ++ ) (12)는 { 13는 IF (번호 [I] == 0 ) (14)는 계속해서 , 15 IF (번호 [I] == 번호 [I +를 1. )] // 0 수 중복되지 소자 제외 16 창 은 false ; . 17 } 18는 위해 ( INT는 I = 0 I <번호]. 크기 (); I ++) . 19 { 20는 IF (! 번호 [I]는 = 0 ) (21)가 { 22은 IF [(numbers.size - (번호) . 1 ] 민수기가 [I]가> = . 5 ) // . MAXVALUE - MINVALUE> = 5 반환 flase (때문에 ) 정렬 후 23은 창 은 false ; 24 다른 25 창 에 해당하는 , 26이다 } 27 } 28 29 30 } 31이다 };