洛谷 2668 NOIP2015 鬥地主

2021-08-08 04:28:11 字數 921 閱讀 9943

題目:

思路:對於順子的組合,與牌的大小有關,所以要搜;

而對於三帶,四帶的組合,與大小無關,所以統計一下即可,最後更新答案();

這樣減少許多回溯過程,還可以使**超級短;

總結:

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 小王 大王,而花色並不對牌的大小產生影響。每一局遊戲中,一副...