劍指offer 撲克牌順子 數學建模 模擬

2021-08-01 00:22:43 字數 2110 閱讀 5289

【題目鏈結】:

【題目描述】:

題目1355:撲克牌順子

時間限制:2 秒

記憶體限制:32 兆

特殊判題:否

提交:1806

解決:530

題目描述:ll

今天心情特別好

,因為他去買了一副撲克牌

,發現裡面居然有

2個大王

,2個小王

(一副牌原本是54張

^_^)...

他隨機從中抽出了5張牌

,想測測自己的手氣

,看看能不能抽到順子

,如果抽到的話

,他決定去買體育彩票

,嘿嘿!!「紅心

a,黑桃

3,小王,大王

,方片5」,「oh my god!」

不是順子

.....ll

不高興了

,他想了想

,決定大\小

王可以看成任何數字,並且

a看作1,j為

11,q

為12,k為13

。上面的

5張牌就可以變成

「1,2,3,4,5」(

大小王分別看作2和

4),「so lucky!」。ll

決定去買體育彩票啦。現在,

要求你使用這幅牌模擬上面的過程

,然後告訴我們

ll的運氣如何。為了方便起見

,你可以認為大小王是0。

輸入:輸入有多組資料。

每組資料報含兩行

,第一行輸入乙個正數

n(0<=n<=14),

表示從撲克牌中抽出的撲克牌數。接下來的一行輸入n個數

,表示從這幅撲克牌中抽出的牌。如果

n=0,

則結束輸入。

輸出:對應每組資料

,如果抽出的牌是順子

,則輸出

「so lucky!」

。否則,

輸出「oh my god!」。

樣例輸入:

5

3 5 1 0 4

53 5 4 7 6

53 5 7 4 8

0

樣例輸出:

so lucky!

so lucky!

oh my god!

【思路】:

把撲克牌的背景抽象成計算機語言,即把五張牌看成由5個數字組成的陣列。大小王看做事特殊的數字,不妨把它們定義為0,這樣就能和其他牌區分開來。

劍指offer 撲克牌順序【模擬】

author:herongwei

time:2017/5/12 19:00

language:c++

***********************/

#include #include #include #define rep(i,k,n) for(int i=k;i<=n;++i)

#define rep2(i,k,n) for(int i=k;i>=n;--i)

using namespace std;

const int maxn= 1e2+233;

const int n= 1e6;

const int mod = 1e9+7;

typedef long long ll;

int t,n,m,k,ret,ans,tot=0;

int arr[15];

inline int read()

while(ch>='0'&&ch<='9')

return c*f;

}void quick_sort(int* arr, int l, int r){

if(l=tp)j--; /// 從右向左找第乙個小於tp的數 j--;

if(i

劍指offer 撲克牌順子

ll今天心情特別好,因為他去買了一副撲克牌,發現裡面居然有2個大王,2個小王 一副牌原本是54張 他隨機從中抽出了5張牌,想測測自己的手氣,看看能不能抽到順子,如果抽到的話,他決定去買體育彩票,嘿嘿!紅心a,黑桃3,小王,大王,方片5 oh my god 不是順子.ll不高興了,他想了想,決定大 小...

劍指offer 撲克牌順子

劍指offer 撲克牌順子.cpp 定義控制台應用程式的入口點。題目描述 輸入五個數字,0可以代表任何數,問這五個數字是否是乙個順子 思路 排序後計算非0的相鄰兩個數之間的距離 gap 然後與0 大小王 的數量進行比較,看是否小於這個count include stdafx.h include ve...

劍指offer 撲克牌順子

題目描述 ll今天心情特別好,因為他去買了一副撲克牌,發現裡面居然有2個大王,2個小王 一副牌原本是54張 他隨機從中抽出了5張牌,想測測自己的手氣,看看能不能抽到順子,如果抽到的話,他決定去買體育彩票,嘿嘿!紅心a,黑桃3,小王,大王,方片5 oh my god 不是順子 ll不高興了,他想了想,...