2017計蒜之道初賽第二場 百度的年會遊戲

2021-08-01 10:42:21 字數 1967 閱讀 5088

玩家 1 擲出兩個骰子,其點數分別為 x, y(1 \le x, y \le 6)x,

y(1≤

x,y≤

6),則從玩家 1 開始按照逆時針(玩家 1、2、3、4)的順序,數到 x+yx+

y 時不妨記為玩家 c,那麼從玩家 c 面前順時針方向第 min(x, y) + 1mi

n(x,

y)+1

個木塊開始,按照玩家 1、2、3、4 的順序,每位玩家依次拿走連續的兩個木塊,迴圈三次,也就是說每位玩家最終應該有 6

6 個木塊。

注意:按照順時針方向拿走木塊,任何時候(包括拿第乙個木塊的時候),如果某一邊的木塊不夠拿了,則繼續拿順時針方向下乙個玩家的第乙個木塊。

舉個例子,玩家 1 擲骰子點數為 3,53,

5,那麼應該從玩家 4 順時針第 4

4 塊木塊開始。依次用藍色、綠色、紅色、紫色分別代表玩家 1、2、3、4 拿到的木塊,如下圖所示:

分別用 num_1, num_2, num_3, num_4nu

m​1​

​,nu

m​2​

​,nu

m​3​

​,nu

m​4​

​ 表示玩家 1/2/3/41/

2/3/

4 面前木塊的數量。在這些木塊中有兩個 幸運木塊,它們 在同乙個玩家面前且相鄰。如果 同時拿走這兩個幸運木塊,就可以拿走年會的終極大獎。

現在輪到 玩家 1 擲骰子,他希望拿走終極大獎,你能幫他算出一共有多少種擲骰子的組合能使得 玩家 1 贏得終極大獎麼?不考慮骰子之間的順序,即 3,43,

4 和 4,34,

3 被認為是同一種骰子組合。

第一行輸入 num_1, num_2, num_3, num_4nu

m​1​

​,nu

m​2​

​,nu

m​3​

​,nu

m​4​

​(1 \le num_i < 52,(1

≤num

​i​​

<52

, \sum_^4num_i=54)∑​

i=1​

4​​n

um​i

​​=5

4),依次表示 1/2/3/41/

2/3/

4 玩家面前擺放的木塊數。第二行輸入兩個整數 k(1 \le k \le 4),k(

1≤k≤

4), d(1 \le d < num_k)d(1≤d

m​k​

​),表示玩家 k

k 面前順時針數第 d

d 和 d+1d+

1 位置上的木塊是幸運木塊(從 1

1 開始計數)。

輸出一行,表示 玩家 1 能夠贏得終極大獎的骰子組合的數目。

對於樣例,用紅色標識出了幸運木塊的位置。對應的玩家 1 擲骰子的方案有三種,分別是 (1, 1)(1

樣例輸入

10 14 15 15
1 4樣例輸出

3
題目大意:如題

解題思路:模擬

#include #include #include #include #include#includeusing namespace std;

int n[6];

int k,d;

bool judge(int x,int y)

int main()

}cout<

2018計蒜之道 初賽 第二場

a.推薦系統 直接暴力dp就行 賽後沒儲存orz.找不到了 b.阿里巴巴的手機 商 簡單 直接拿map暴力就行 include include include include include include include include include include include includ...

2018 計蒜之道 初賽 第二場

簽到完看到c沒什麼人過就溜樂。a.的推薦系統 直接dp,時間複雜度 o nd include using namespace std define rep i,a,b for int i a i b i define dec i,a,b for int i a i b i define mp mak...

2018 計蒜之道 初賽 第二場 A B

小明剛剛入職 老大給他交代了乙個簡單的任務,實現乙個簡易的商品推薦系統。一共有 n n 件商品可以被推薦,他們的編號分別為 1 1 到 n n。每件商品都有乙個 編號為 i i的商品 為 p ipi 元。現在需要給使用者推薦盡可能多的商品,但是要保證按照編號上公升的順序給使用者依次推薦商品,並且,相...