Sol

暴力搜索...不用搜1,2张的情况,直接统计出来就可以了.

还有处理一下2和大王小王的位置,扔到最后面或者最前面就可以了.

搜索就搜 3+3,2+2+2,1+1+1+1+1 这三个就可以了.

Code

#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std; const int N = 25; int T,n,ans;
int t[]={13,11,12,0,1,2,3,4,5,6,7,8,9,10};
int a[N]; inline int in(int x=0,char ch=getchar()){ while(ch>'9'||ch<'0') ch=getchar();
while(ch>='0'&&ch<='9') x=(x<<3)+(x<<1)+ch-'0',ch=getchar();return x; } void DFS(int d){
if(d>ans) return;
int c[5]={0,0,0,0,0};
for(int i=0;i<=13;i++) if(a[i]==1) c[1]++;
for(int i=0;i<=13;i++) if(a[i]==2) c[2]++;
for(int i=0;i<=13;i++) if(a[i]==3){
c[3]++;
if(c[2]>=1) c[2]--;else if(c[1]>=1) c[1]--;
}
for(int i=0;i<=13;i++) if(a[i]==4){
c[4]++;
if(c[1]>=2) c[1]-=2;else if(c[2]>=2) c[2]-=2;else if(c[2]>=1) c[2]--;
} ans=min(ans,d+c[1]+c[2]+c[3]+c[4]); //3+3
for(int i=0,j;i<=10;i++){
for(j=i;j<=11;j++){
a[j]-=3;
if(a[j]<0) break;
if(j-i+1>=2) DFS(d+1);
}if(j==12) j--;
while(j>=i) a[j--]+=3;
}
//2+2+2
for(int i=0,j;i<=9;i++){
for(j=i;j<=11;j++){
a[j]-=2;
if(a[j]<0) break;
if(j-i+1>=3) DFS(d+1);
}if(j==12) j--;
while(j>=i) a[j--]+=2;
}
//1+1+1+1+1
for(int i=0,j;i<=7;i++){
for(j=i;j<=11;j++){
a[j]--;
if(a[j]<0) break;
if(j-i+1>=5) DFS(d+1);
}if(j==12) j--;
while(j>=i) a[j--]++;
}
} int main(){
for(T=in(),n=in();T--;){
ans=n;memset(a,0,sizeof(a));
for(int i=1,u,v;i<=n;i++) u=in(),v=in(),a[t[u]]++;
DFS(0);
printf("%d\n",ans);
}return 0;
}

  

NOIP2015 斗地主的更多相关文章

  1. NOIP2015斗地主[DFS 贪心]

    题目描述 牛牛最近迷上了一种叫斗地主的扑克游戏.斗地主是一种使用黑桃.红心.梅花.方片的A到K加上大小王的共54张牌来进行的扑克牌游戏.在斗地主中,牌的大小关系根据牌的数码表示如下:3<4< ...

  2. BZOJ 4325: NOIP2015 斗地主

    4325: NOIP2015 斗地主 Time Limit: 30 Sec  Memory Limit: 1024 MBSubmit: 684  Solved: 456[Submit][Status] ...

  3. NOIP2015 斗地主(搜索+剪枝)

    4325: NOIP2015 斗地主 Time Limit: 30 Sec  Memory Limit: 1024 MBSubmit: 270  Solved: 192[Submit][Status] ...

  4. [补档][NOIP2015] 斗地主

    [NOIP2015] 斗地主 题目 传送门:http://cogs.pro/cogs/problem/problem.php?pid=2106 INPUT 第一行包含用空格隔开的2个正整数Tn,表示手 ...

  5. LOJ2422 NOIP2015 斗地主 【搜索+贪心】*

    LOJ2422 NOIP2015 斗地主 LINK 题目大意很简单,就是问你斗地主的一分手牌最少多少次出完 然后我们发现对于一种手牌状态,不考虑顺子的情况是可以贪心做掉的 然后我们直接枚举一下顺子出牌 ...

  6. 【BZOJ4325】NOIP2015 斗地主 搜索+剪枝

    [BZOJ4325]NOIP2015 斗地主 Description 牛牛最近迷上了一种叫斗地主的扑克游戏.斗地主是一种使用黑桃.红心.梅花.方片的A到K加上大小王的共54张牌来进行的扑克牌游戏.在斗 ...

  7. 2106. [NOIP2015] 斗地主

        2106. [NOIP2015] 斗地主 ★★★☆   输入文件:landlords.in   输出文件:landlords.out   简单对比 时间限制:2 s   内存限制:1025 M ...

  8. NOIP2015斗地主题解 7.30考试

    问题 B: NOIP2015 斗地主 时间限制: 3 Sec  内存限制: 1024 MB 题目描述 牛牛最近迷上了一种叫斗地主的扑克游戏.斗地主是一种使用黑桃.红心.梅花.方片的A到K加上大小王的共 ...

  9. [NOIP2015] 斗地主(搜索)

    题目描述 牛牛最近迷上了一种叫斗地主的扑克游戏.斗地主是一种使用黑桃.红心.梅花.方片的A到K加上大小王的共54张牌来进行的扑克牌游戏.在斗地主中,牌的大小关系根据牌的数码表示如下:3<4< ...

  10. NOIP2015斗地主(搜索+模拟+贪心)

    %%%Luan 题面就不说了,和斗地主一样,给一组牌,求最少打几次. 注意一点,数据随机,这样我们瞎搞一搞就可以过,虽然直接贪心可以证明是错的. 枚举方法,每次搜索按照(三顺子>二顺子>普 ...

随机推荐

  1. LyX-220-Installer-3

    所见即所得 单独安装这个写作业可以了,要发论文用CTeX Ctrl + M 打开数学输入,里面可以输入 TeX 代码

  2. linux设置和删除环境变量

    删除环境变量: unset -v PKG_CONFIG_PATH 添加环境变量: export PKG_CONFIG_PATH="你需要设置的路径", 例如: export LAN ...

  3. HTML5基本布局

    HTML4布局 HTML5布局 基本的HTML5文档的模式为: <!DOCTYPE html> <html lang = "en"> <head> ...

  4. 商城常用css分类代码

    如图: 原代码如下: <div class="allMerchan bgnone"> <h2 class="ttlm_category"> ...

  5. Redis总结(一)Redis安装

    最近项目中需要使用Redis,刚好这两天有时间,便总结记录一下Redis的安装,以及如何在.NET中使用Redis. Redis是一个用的比较广泛的Key/Value的内存数据库.目前新浪微博.Git ...

  6. Materialize一款不错的框架(装逼必备,想想一帮渣渣们还在说bootstrap的时候,你用materialize,高端洋气,别人仰望着,同事们鄙视的看着你还能不能愉快的玩耍的时候,那种孤高的感觉!-_-//意淫结束)

    这个materialize感觉比bootstrap好一点 当然啦中文文档还木有!所以想搞个materialize中文网的可以抢先咯! materialize是谷歌设计制作的一款框架. HOHO,出去别 ...

  7. [原] Android性能优化方法

    GPU过度绘制 打开开发者选型,"调试GPU过度绘制",蓝.绿.粉红.红,过度绘制依次加深 粉红色尽量优化,界面尽量保持蓝绿颜色 红色肯定是有问题的,不能忍受 使用Hierarch ...

  8. 利用flexbox实现按字符长度排列dom元素

    说明:请使用chrome浏览器打开 See the Pen pvyjGV by lilyH (@lilyH) on CodePen. 如上图所示,我们你要实现的效果就是,(1)在一行中显示两块元素:( ...

  9. git checkout -b 的详细讲解

    创建分支: $ git branch mybranch 切换分支: $ git checkout mybranch 创建并切换分支: $ git checkout -b mybranch 更新mast ...

  10. ZOJ 3711 Give Me Your Hand

    Give Me Your Hand Time Limit: 2 Seconds      Memory Limit: 131072 KB      Special Judge BellyWhite a ...