1 条题解

  • 0
    @ 2024-12-24 9:59:19

    C :

    #include<stdio.h>
    #include<string.h>
    int judge(char *a,char *b,int l)
    {
    	int i,j,d,k;
    	d=strlen(a);
    	k=0;
    	for(i=0;i<d;i++)
    	{
    		if(a[i]>b[0])
    		{
    		   for(j=i;a[j]==a[i];j++)
    			   k++;
    		   if(k>=l)
    		{
    			return 1;
    			break;
    		}
    		   else
    		   {
    			   k=0;
    			   i=j-1;
    		   }
    		}
    	}
    	return 0;
    
    }
    int judge1(char *a,char *b)
    {
    	int i,l,d,k;
    	d=0;
    	l=strlen(a);
    	for(i=0;i<l;i++)
    	{
    		if(a[i]>b[0])
    		{   d++;
    			for(k=i+1;k<l;k++)
    			{
    				if(a[k]-a[k-1]==1)
    					d++;
    			}
    			if(d>=5)
    			{
    				return 1;
    				break;
    			}
    			else 
    			{
    				d=0;
    			}
    
    		}
    	}
    	
    return 0;
    }
    
    int main()
    {
    	char a[101],b[101];
    	int h,l;
    	while(scanf("%s",&a)!=EOF)
    	{
    		scanf("%s",&b);
    		l=strlen(b);
    		if(l<5)
    			h=judge(a,b,l);
    		else
    			h=judge1(a,b);
    		if(h==1)
    			printf("YES\n");
    		else
    			printf("NO\n");
    	}
    	return 0;
    
    }
    
    

    C++ :

    #include<stdio.h>
    #include<string.h>
    char a[111],b[111];
    void run()
    {
    	int c[11],i,j,n,m;//数组c记录自己持有各种牌的张数,以便检索。 
    	n=strlen(a)-1;
    	for(i=1;i<=9;i++)
    		c[i]=0;
    	for(i=0;i<=n;i++)
    		c[a[i]-'0']++;
    	m=strlen(b);
    	if(m<=4)
    	{
    		for(i=b[0]-'0'+1;i<=9;i++)
    			if(c[i]>=m)//在自己手里找m张相同的牌 
    			{
    				printf("YES\n");
    				return;
    			}
    		printf("NO\n");
    		return;	
    	}
    	else
    	{
    		for(i=b[0]-'0'+1;i<=5;i++)
    			if((c[i]>=1)&&(c[i+1]>=1)&&(c[i+2]>=1)&&(c[i+3]>=1)&&(c[i+4]>=1))//找顺子 
    			{
    				printf("YES\n");
    				return;
    			}
    		printf("NO\n");
    		return;	
    	}
    }
    int main()
    {
    	scanf("%s%s",a,b);
    	while(strcmp(a,"")!=0)
    	{
    		run();
    		strcpy(a,"");
    		scanf("%s%s",a,b);
    	}
    }
    //无论是多少张,别人打出的牌的大小只与b[0]有关,也就是说在长度和b[0]确定时,牌是确定的。 
    
    • 1

    信息

    ID
    1404
    时间
    1000ms
    内存
    32MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者