카드 에서 무 작위 로 다섯 장의 카드 를 뽑 아 순자 인지 아 닌 지 를 판단 하 다.
2498 단어 알고리즘
/*
copyright@nciaebupt
: 5 , , 5 。2-10
,A 1,J 11,Q 12,K 13, 。
:
。 , 5 5
。 , 0,
。
5 。 , 。
, 0 , 0 。
, , 0
, 。 , {0,1,3,4,
5}。 1 3 2, 0, 2
。
: , 0 ,
。 0 , ;
。 , , 0 ,
。 , , 。
:
1) 5 0, ( );
2) :(max,min 5 0 )
0, max-min=4, ,
0, max-min=4 3, ,
0, max-min=4 3 2, ,
1) ,
*/
#include
#include
#define POKER_CNT 14
#define MAX 10000
#define MIN -10000
bool isJunko(int * poker, int len)
{
if(poker == NULL || len < 0){
return false;
}
int poker_hash[POKER_CNT];
for(int i = 0; i < POKER_CNT; ++i){
poker_hash[i] = 0;
}
int poker_max = MIN;
int poker_min = MAX;
for(int i = 0; i < len; ++i){
if(poker[i] != 0 && poker_max < poker[i]){
poker_max = poker[i];
}
if(poker[i] != 0 && poker_min > poker[i]){
poker_min = poker[i];
}
poker_hash[poker[i]]++;
}
int zero_cnt = poker_hash[0];
for(int i = 0; i < POKER_CNT; ++i){
if(poker_hash[i] > 1){
return false;
}
}
switch(zero_cnt){
case 0:
if(poker_max - poker_min == 4){
return true;
}
else{
return false;
}
break;
case 1:
if((poker_max - poker_min == 4) || (poker_max - poker_min == 3)){
return true;
}
else{
return false;
}
break;
case 2:
if((poker_max - poker_min == 3) || (poker_max - poker_min == 2)){
return true;
}
else{
return false;
}
break;
}
}
int main(int argc, char ** argv)
{
int poker[] = {2,3,4,5,6};
int len = sizeof(poker)/sizeof(poker[0]);
bool flag = isJunko(poker, len);
std::cout<
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
【Codility Lesson3】FrogJmpA small frog wants to get to the other side of the road. The frog is currently located at position X and wants to get to...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.