題目:
思路:對於順子的組合,與牌的大小有關,所以要搜;
而對於三帶,四帶的組合,與大小無關,所以統計一下即可,最後更新答案();
這樣減少許多回溯過程,還可以使**超級短;
總結:
1.注意回溯;
2.看清題面(比如 三順子至少需要兩種牌,不是三種 ,卡我1個小時……);
3.注意細節,最好打完一部分檢查一下,加上適當的注釋;
4.注意初始化;
#include
#include
#include
#include
using
namespace
std;
int t,n,cnt[10001],ans,num;
void init()
int cnt1,cnt2,cnt3,cnt4,cnt5;
void dfs(int x)
for(int i=1;i<=14;i++)//三帶一 三帶二
}for(int i=1;i<=14;i++) //四帶二
}ans=min(ans,x+cnt1+cnt2+cnt3+cnt4);
for(int i=1;i<=8;i++) //單順子
for(int k=i;k<=j-1;k++) cnt[k]++;
}for(int i=1;i<=10;i++) // 雙順子
for(int k=i;k<=j-1;k++) cnt[k]+=2;
}for(int i=1;i<=11;i++) // 三順子
for(int k=i;k<=j-1;k++) cnt[k]+=3;
}return;
}void solve()
dfs(0);
cout
NOIP2015鬥地主(洛谷2668)
標籤 dfs 題目描述 牛牛最近迷上了一種叫鬥地主的撲克遊戲。鬥地主是一種使用黑桃 紅心 梅花 方片的a到k加上大小王的共54張牌來進行的撲克牌遊戲。在鬥地主中,牌的大小關係根據牌的數碼表示如下 3 4 5 6 7 8 9 10 現在,牛牛只想知道,對於自己的若干組手牌,分別最少需要多少次出牌可以將...
NOIP2015 鬥地主 洛谷P2668
題目描述 牛牛最近迷上了一種叫鬥地主的撲克遊戲。鬥地主是一種使用黑桃 紅心 梅花 方片的a到k加上大小王的共54張牌來進行的撲克牌遊戲。在鬥地主中,牌的大小關係根據牌的數碼表示如下 3 4 5 6 7 8 9 10 include include include using namespace st...
題解 洛谷P2668 NOIP2015 鬥地主
牛牛最近迷上了一種叫鬥地主的撲克遊戲。鬥地主是一種使用黑桃 紅心 梅花 方片的 a 到 k 加上大小王的共 54 張牌來進行的撲克牌遊戲。在鬥地主中,牌的大小關係根據牌的數碼表示如下 3 4 5 6 7 8 9 1 0 j q k a 2 小王 大王,而花色並不對牌的大小產生影響。每一局遊戲中,一副...