扑克牌的顺子

来源:互联网 发布:美工刀片哪个牌子最好 编辑:程序博客网 时间:2024/04/30 08:26

//另外思路:首先排序,统计0的个数,统计空缺。#include<iostream>#include<string.h>using namespace std;void issequence(int sh[],int length){    int ch[14];    int sum=0;    memset(ch,0,sizeof(ch)); //映射一个数组,置0    for(int i=0;i<length;i++)//将牌值映射到数组中,数组元素大小代表牌的张数    {        if(sh[i]!=0 && ch[sh[i]]!=0) //如果牌重复即对子,则不算顺子        {            cout<<"N0";            return;        }        ch[sh[i]]++;    }    for(int i=1;i<14;i++)    {        if(ch[i]==1)//找除王以外最小牌值        {            for(int j=i;j<i+5&&j<14;j++)//5个数组元素进行计数,切记最大数组索引为13                sum+=ch[j];            if(sum==length-ch[0])//王的张数去填空缺,符合则YES                cout<<"Yes";            else                cout<<"N0";            return;        }    }}int main(){    int sh[]={0,0,10,11,12};    issequence(sh,5);    return 0;}


0 0
原创粉丝点击