贝壳扑克牌题解

#include<bits/stdc++.h>
using namespace std ;

int no_straight( vector<int> nums , int residue )
{
    sort( nums.begin() , nums.end() ) ;
    int i  ;
    for( i = nums.size() - 1 ; i >= 0 && residue > 0 ; i-- )
        {
            residue -= nums[i] ;
            if( nums[i] == 4 ) residue -= 2 ;
            if( nums[i] == 3 ) residue -= 1 ;
        }
    return nums.size() - 1 - i ;
}

int dfs( int first , int residue ,vector<int> nums )
{
    int res = no_straight( nums , residue ) ;
    for( int i = first ; i < nums.size() ; i++ )
    {
        vector<int> nums_cur ;
        nums_cur = nums ;
        for( int j = 1 ; i+j-1 < nums.size() ; j++ )
        {
            nums_cur[i+j-1]-- ;
            if( nums_cur[i+j-1] < 0 )
                break ;
            if( j < 5 )
                continue ;
            int x = dfs( i , residue - j , nums_cur ) ;
            res = min( res , 1+x ) ;
        }
    }
    return res ;
}


int main()
{
    vector< int > nums(13,0) ;
    string s = "8K67A65K27T59K346AK2" ;
    for( int i = 0 ; i < 20 ; i++ )
        {
            char x ;
            x = s[i];
            int y ;
            if( '2'<=x && x<='9' )
                y = x-'0'-1 ;
            else if( x == 'A' )
                y = 0 ;
            else if( x == 'T' )
                y = 9 ;
            else if( x == 'J' )
                y = 10 ;
            else if( x == 'Q' )
                y = 11 ;
            else if( x == 'K' )
                y = 12 ;
            nums[y]++ ;
        }
    int res = dfs( 0 , 20 ,  nums ) ;
    cout << res ;
    return 0 ;
}

#贝壳找房##题解#
全部评论
原题:洛谷P2668
点赞 回复 分享
发布于 2018-08-19 10:56
问一下,这东西和图有什么关系啊。。。
点赞 回复 分享
发布于 2018-08-19 07:55
AC了吗
点赞 回复 分享
发布于 2018-08-19 01:01

相关推荐

点赞 评论 收藏
分享
多多啊&nbsp;多多啊&nbsp;上来四道算法题算法题直播排序,整体比较简单把对象写出来,然后比较规则写明白就OK了。唯一一道A100%的电车充电如何最省钱,到目的地如何充电的钱最少,路上有充电站,每个电站价格不一样。用了DP来做,但感觉是贪心的样子,最后没招了,把不能到的情况给干了出来,过了8%日志分析纠错,滑动窗口,但我最后结果永远少一,过了15%没看,力竭了燃尽了多多&nbsp;以后牛客不用后台找我了,笔试夯爆了
淮竹c:不好意思,打扰大家🙏我是一个拼多多骑手,小电驴的最大电量为C,我的最大电量有1e9这么promax😭😭😭需要从x=0处走到x=L,L足足有1e9那么长处,途中有n个充电站,🙏🙏每个充电站的距离和电价分别为di和pi,初始电量是满的😭😭😭请告诉我到达终点最少要花多少钱😭😭😭求求大家把这些钱转给我
查看2道真题和解析
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务