UCF Practice Local Contest 2018 (practice)Rummy Score (dfs)
Posted dyhaohaoxuexi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UCF Practice Local Contest 2018 (practice)Rummy Score (dfs)相关的知识,希望对你有一定的参考价值。
dfs,对于每个点数的牌,都有:不出、作为同花出、作为顺子出这三种选择
#include<bits/stdc++.h> using namespace std; int a[20],x,anss=0x3f3f3f3f; void dfs(int k) { if(k>13) { int sum=0; for(int i=1;i<=13;i++) { sum+=a[i]*i; } anss=min(anss,sum); return; } if(a[k]==0) { return dfs(k+1); } if(a[k]>=3) //同花 { for(int i=3;i<=a[k];i++) { a[k]-=i; dfs(k); a[k]+=i; } } int t=0; for(int i=k;i<=13;i++) { if(a[i]==0) break; else t++; if(t>=3) //顺子 { for(int j=k;j<=i;j++) { a[j]--; } dfs(k); for(int j=k;j<=i;j++) { a[j]++; } } } dfs(k+1); //不出 } int main() { for(int i=1;i<=7;i++) { cin>>x; a[x]++; } dfs(1); cout<<anss<<endl; }
以上是关于UCF Practice Local Contest 2018 (practice)Rummy Score (dfs)的主要内容,如果未能解决你的问题,请参考以下文章
UCF Local Programming Contest 2015(Practice)个人分析
UCF Local Programming Contest 2012(Practice)
UCF “Practice” Local Contest — Aug 25, 2018 Rummy Score
UCF “Practice” Local Contest — Aug 25, 2018 Call Me Maybe
UCF “Practice” Local Contest — Aug 25, 2018 Boots Exchange 水题