NOIP2015 斗地主 洛谷P2668
2017-06-04 20:52
405 查看
题目描述
牛牛最近迷上了一种叫斗地主的扑克游戏。斗地主是一种使用黑桃、红心、梅花、方片的A到K加上大小王的共54张牌来进行的扑克牌游戏。在斗地主中,牌的大小关系根据牌的数码表示如下:3<4<5<6<7<8<9<10
牛牛最近迷上了一种叫斗地主的扑克游戏。斗地主是一种使用黑桃、红心、梅花、方片的A到K加上大小王的共54张牌来进行的扑克牌游戏。在斗地主中,牌的大小关系根据牌的数码表示如下:3<4<5<6<7<8<9<10
#include<iostream> #include<cstring> #include<cstdio> using namespace std; #define N 25 int T,n,ans,a ; int t[]={13,11,12,0,1,2,3,4,5,6,7,8,9,10}; inline int read(){ int x=0;char c=getchar(); //while(c<'0'||c>'9'){ if(c=='-') f=-1;c=getchar(); } while(c>'9'||c<'0') c=getchar(); while(c<='9'&&c>='0'){ x=(x<<1)+(x<<3)+(c-'0'); c=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]-=1;//杩樻槸鍥涘甫浜? } ans=min(ans,d+c[1]+c[2]+c[3]+c[4]); //椋炴満 for(int j,i=0;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; } //涓夎繛瀵? for(int j,i=0;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; } //浜旇繛鍗? for(int j,i=0;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--]+=1; } } int main(){ T=read(); for(n=read();T--;){ ans=n; memset(a,0,sizeof a ); for(int i=1,u,v;i<=n;i++){ u=read();v=read(); a[t[u]]++; } DFS(0); printf("%d\n",ans); } return 0; }
相关文章推荐
- [NOIP2015] 提高组 洛谷P2668 斗地主
- 洛谷P2668 斗地主==codevs 4610 斗地主[NOIP 2015 day1 T3]
- 洛谷P2668 斗地主 [NOIP2015]
- 洛谷P2668 斗地主(NOIp2015)(BZOJ4325)
- 【bzoj4325】NOIP2015 斗地主(&“加强”版) 搜索
- [NOIp2015] 斗地主
- 斗地主 (NOIP2015 Day1 T3)
- noip2015 斗地主
- [NOIP2015]斗地主
- UOJ147 [NOIP2015]斗地主 解题报告【搜索】【贪心】
- 【NOIP2015】Day1T3 斗地主
- NOIP 2015 斗地主
- NOIP2015复赛提高组day1(A:神奇的幻方 B:信息传递 C:斗地主)
- [NOIP 2015] 斗地主 landlord
- UOJ NOIP2015 斗地主 [搜索]
- bzoj 4325: NOIP2015 斗地主 dfs
- 【NOIP2015】斗地主(及加强版&原版)
- 洛谷 P2668 [NOIP2015 D1T3] 斗地主
- NOIP 2015 斗地主
- 【BZOJ4325】NOIP2015 斗地主【搜索】【剪枝】