T10396 曹老板斗地主(中度模拟)

这个题好像没什么难度,就是需要耐心调解。

注意事项:1.在加值时,>11要+10,在减值时,>11要-10。

2.判断类型要从分值从大到小判,要先判特殊牌,再判有头牌。

3.在判断是否有头时,也要判断J,K,Q。

4.注意本题是四舍五入。

#include<queue>
#include<cstring>
#include<cmath>
#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
typedef long long ll;
int t;
int a[6];
int num[15];
int ans,sum;
bool check()
{
  for(int i=1;i<=5;i++)
  {
    for(int j=i+1;j<=5;j++)
	{
	  for(int k=j+1;k<=5;k++)
	  {
	   int b=a[i]>10 ? 10 : a[i];
	   int c=a[j]>10 ? 10 : a[j];
	   int d=a[k]>10 ? 10 : a[k];
	   if((b+c+d)%10==0)
	   return 1;	
	  }
    }
  }
  return 0;
}

int main()
{
 scanf("%d",&t);
 while(t--)
 {
   memset(num,0,sizeof(num));
   ans=0,sum=0;
   for(int i=1;i<=4;i++)
   {
    scanf("%d",&a[i]);
    num[a[i]]++;
    if(a[i]>10) sum+=10;
    else sum+=a[i];
   }
   for(int i=1;i<=13;i++)
   {
   	 a[5]=i;
   	 num[i]++;
   	 if(a[5]>10) sum+=10;
     else sum+=a[5];
   	 if(sum<=10&&a[1]<5&&a[2]<5&&a[3]<5&&a[4]<5&&a[5]<5)
   	 {
   	    ans+=60;
		if(a[5]>10) sum-=10;
        else sum-=a[5];
		num[i]--;
		continue;
   	 }
   	 if(num[11]+num[12]+num[13]==5)
   	 {
   	    ans+=50;
	    if(a[5]>10) sum-=10;
        else sum-=a[5];
		num[i]--;
		continue;	
   	 }
   	 if(num[a[1]]>=4||num[a[2]]>=4||num[a[3]]>=4||num[a[4]]>=4||num[a[5]]>=4)
   	 {
   	    ans+=40;
		if(a[5]>10) sum-=10;
        else sum-=a[5];
		num[i]--;
		continue;	
   	 }
   	 if(check())
   	 {
   	    if(sum%10==0)
   	    {
   	       ans+=30;
		   if(a[5]>10) sum-=10;
           else sum-=a[5];
		   num[i]--;
		   continue;	
   	    }
   	    else if(sum%10<7)
   	    {
   	       ans+=sum%10;
		   if(a[5]>10) sum-=10;
           else sum-=a[5];
		   num[i]--;
		   continue;
   	    } 
   	    else
   	    {
   	       ans+=(sum%10)*2;
		   if(a[5]>10) sum-=10;
           else sum-=a[5];
		   num[i]--;
		   continue;	
   	    }
   	 }
   	  if(a[5]>10) sum-=10;
      else sum-=a[5];
	  num[i]--;
   }
   double qw=(double)ans/13.0;
   int sw=(int)(qw+0.5);//四舍五入技巧
   printf("%d\n",sw);
 }
 return 0;	
}
posted @ 2019-10-18 16:41  lihan123  阅读(124)  评论(0编辑  收藏  举报