就是給了13張牌。問增加哪些牌可以胡牌。
胡牌有以下幾種情況:
1、乙個對子 + 4組 3個相同的牌或者順子。 只有m、s、p是可以構成順子的。東西南北這樣的牌沒有順子。
2、7個不同的對子。
3、1m,9m,1p,9p,1s,9s,1c,2c,3c,4c,5c,6c,7c. 這13種牌每種都有,而且僅有這13種牌。肯定是有一種2張。其他的1張。
首先是列舉18+7=34張牌,加進去構成14張牌,判斷胡牌。
胡牌判斷如下。
對於第一種情況:列舉每乙個對子。然後按照順序找3張相同或者順子。如果有三種相同的,構成3張相同的。沒有就看能不能和後面的構成順子。一定要按照順序從小到大找過去。 1c```7c只能構成3張一樣的。然後判斷是不是剛好找到4組。
對於第二種情況:就是要每一種牌的數量要麼是0,要麼是2,這樣一定是7個不同的對子了。
對於第三種情況:就是要讓這13種牌的數量不等於0,而且其他牌的數量為0;
#include#include#include
#include
using
namespace
std;
int cnt[35
];bool
judge4x3()
while(j+2
<9 && tmp[i+j] && tmp[i+j+1] &&tmp[i+j+2
])
}for(int j=0;j<7;j++)
}if(ret==4)return
true
;
return
false;}
bool
judge1()
cnt[i]+=2
; }
}return
false;}
bool
judge2()
return
true;}
bool
judge3()
return
true;}
bool
judge()
intmain()
tol=0
;
for(int i=0;i<34;i++)
if(tol==0)printf("
nooten\n");
else
printf("\n
");}
}return0;
}
麻將胡牌判決
胡牌有以下幾種情況 1 乙個對子 4組 3個相同的牌或者順子。只有m s p是可以構成順子的。東西南北這樣的牌沒有順子。2 7個不同的對子。3 1m,9m,1p,9p,1s,9s,1c,2c,3c,4c,5c,6c,7c.這13種牌每種都有,而且僅有這13種牌。肯定是有一種2張。其他的1張。首先是列...
麻將胡牌演算法
majiang algorithm是帶多張鬼牌的通用胡牌演算法,採用查表方式,簡單高效。在生成表的階段,時間是不值錢的,所以生成方法我們可以任意窮舉。首先分為普通 風 箭三張表。窮舉出所有的key,比如普通表,就是000000000 444420000,因為每一種牌最大4張,且總和不超過14張牌。對...
麻將胡牌演算法 C
這裡只介紹普通的麻將胡牌演算法,也就是7個對子或者 1個對子 3 n n 三個順子或者三個一樣的 其中字牌 東南西北中發白 不能算順子。首先對於每張牌 它有牌的的數字 1 9,牌的種類 萬條筒以及字 所以先封裝乙個牌的包裝類。如果要和伺服器互動的話就應該給這個類序列化 即加上system.seria...