5. 撲克遊戲
(e.pas/cpp/c)
【題目描述】
都知道,一副撲克裡有四種花色(梅花、黑桃、方塊、紅桃)。
假設每兩張同花色的牌組成一組,求當手上有n張牌時,至少組成1到n/2(向下取整)組牌時有多少種不同的方案?
例如:手中可有n張牌,可以構成: 梅花
黑桃 方塊 紅桃
a張 b張
c張 d張
a+b+c+d=n,其中0<=a,b,c,d<=n
即:求上**中所有不同方案能組成1到n/2組的方案數。
例如n=5時,只能構成1組、2組,不能構成3組;構成舉例如下: 梅花
黑桃 方塊 紅桃
構成方案說明 1張
2張 2張
0張黑桃或方塊可構成1組,沒有能構成2組的花色 2張
2張 0張
1張梅花或黑桃可構成1組,沒有能構成2組的花色 4張
0張 1張
0張梅花可構成1組,梅花也能構成2組 0張
5張 0張
0張黑桃有5張可構成1組,也能構成2組,但不能構成3組
………………
………………
由於最後答案可能會很大,請輸出答案 mod 10007的結果。
【輸入格式】
乙個數,n。
【輸出格式】
共n/2(向下取整)行,第i行表示至少組成i組牌時有多少種不同的方案。
【輸入樣例1】3
【輸出樣例1】16
【樣例解釋1】
以下列舉當手中有3張牌時,每種花色的張數,可能有以下16種情況:
梅花 黑桃 方塊 紅桃
0 0 0 3
0 0 1 2
0 0 2 1
0 0 3 0
0 1 0 2
0 1 2 0
0 2 0 1
0 2 1 0
0 3 0 0
1 0 0 2
1 0 2 0
1 2 0 0
2 0 0 1
2 0 1 0
2 1 0 0
3 0 0 0
【輸入樣例2】4
【輸出樣例2】34
10 【資料範圍】
30%n<=1000
100%n<=10000
varh:array[0..4]of longint;
a:array[0..10000]of longint;
n,i,j,k,l,t,ans:longint;
begin
readln(n);
for i:=0 to n do
for j:=0 to n-i do
begin
k:=n-i-j;
t:=(i div 2)+(j div 2)+(k div 2);
if k mod 2=1 then a[t]:=(a[t]+k+1) mod 10007
else
begin
a[t]:=(a[t]+k div 2+1) mod 10007;
a[t-1]:=(a[t-1]+k div 2)mod 10007;
end;
end;
for i:=n div 2 downto 2 do a[i-1]:=(a[i-1]+a[i]) mod 10007;
for i:=1 to n div 2 do writeln(a[i]);
end.
撲克遊戲 1, 2
撲克遊戲 1 美美和山山決定玩撲克牌,他們共有n n 100 張撲克,這些撲克上分別標記為1,2,n,一開始,這些撲克是按標記從小到大放在一起 最上面一張是1,最下面一張是n 現在美美要把這些撲克打亂順序,他把上面第一張放在一邊 然後把最上面2張一張一張地依次移到最後,再把最上面一張放到剛才拿走那張...
德州撲克遊戲
哇,好久好久沒寫東西啦。這兩天實現了乙個簡單的遊戲引擎,可以發牌,可以比較兩手牌的大小 這階段過後準備用這個引擎來實現乙個簡單的ai對戰,現在先記錄一下,實現方面我用的是go語言 接下來我假設你已經懂遊戲規則和俗語了 首先是牌的儲存,2 a,一共13張牌,我用的是乙個14位的二進位制區間來儲存的,比...
撲克遊戲 打聯手
遊戲名稱 打聯手 無兄弟 不聯手 釋義1 兄弟聯手,共贏天下 釋義2 所有的兄弟,都是會有聯手共同行動 釋義3 二人 兄弟 夫妻 父子 同事 聯手,打別人的聯手 遊戲特點 結合三人鬥地主 及 四人打公升級 和 多人隔位同盟 的撲克特點,通過一手牌,二人聯手,共同決定出牌的方式,快速增進兩人的了解和互...