機試備考 Day7 打牌

2021-10-14 07:54:22 字數 2020 閱讀 5819

牛客網-bupt2010第三題

牌只有1到9,手裡拿著已經排好序的牌a,對方出牌b,用程式判斷手中牌是否能夠壓過對方出牌。 規則:出牌牌型有5種 [1]一張 如4 則5…9可壓過 [2]兩張 如44 則55,66,77,…,99可壓過 [3]三張 如444 規則如[2] [4]四張 如4444 規則如[2] [5]五張 牌型只有12345 23456 34567 45678 56789五個,後面的比前面的均大。

輸入有多組資料。

每組輸入兩個字串(字串大小不超過100)a,b。a字串代表手中牌,b字串代表出的牌。

壓過輸出yes 否則no。

超級好理解,根據打牌過程直接翻譯,但是也很麻煩,有很多重複**以及不必要的計算

#include

#include

using

namespace std;

intmain()

}break

;//兩張牌:找兩個連續比b[0]大的則yes

case2:

for(

int i=

0;ilength()

;i++)}

}break

;//三張牌:找三個連續比b[0]大的則yes

case3:

for(

int i=

0;ilength()

;i++)}

}break

;//四張牌:找四個連續比b[0]大的則yes

case4:

for(

int i=

0;ilength()

;i++)}

}break

;//五張牌:加入b是23456,則在a裡找34567/45678/56789,找到乙個則yes

case5:

int count=0;

//a裡有個數是b[0]+1

if(a.

find

(b[0]+

1)!=a.npos)

}//沒有b[0]+1,但有b[0]+2

else

if(a.

find

(b[0]+

2)!=a.npos)

}else

if(a.

find

(b[0]+

3)!=a.npos)

}else

if(a.

find

(b[0]+

4)!=a.npos)

}else

if(a.

find

(b[0]+

5)!=a.npos)

}break;}

if(flag)

cout<<

"yes"

;else

cout<<

"no"

;}

用桶記錄a擁有的每種牌的數量,再根據b出的牌到對應的桶中去找a有沒有可以壓過b的牌

#include

#include

using

namespace std;

intmain()

;//牌的數量裝桶

for(

int i=

0;ilength()

;i++

)//1~4張牌情況

if(b.

length()

<5)

}}//5張牌情況

else

if(i<

10&&i==b[0]

+j+5

-'0')}

}if(flag)

cout<<

"yes"

;else

cout<<

"no"

;}

注意:不要忘記訪問a的牌string a時,把char轉成int,即a[i]-'0'

機試備考 Day22 尋找寶藏 樹

bupt 2011 計算機 problemc oj 有一棵多叉樹t,你在樹根處,寶藏在某一葉子節點l。現在你沿著樹枝向葉子方向走去,從不回頭,如果遇到樹叉節點,你等概率地挑選乙個分支繼續走。請問,在給定t,l的情況下,你有多大概率拿到寶藏?第一行,整數n,m,l 1 n 1000,0 m 1000,...

瀋陽集訓day7

吐槽 記錄 突然才知道自己太菜了,今天t1又因為輸出的時候少輸出了乙個換行符報零,加上就a,真傷心 linux換行和空格是乙個意思啊 t3正解過了 michael為救哥哥身陷囹圄,被關進foxriver監獄。為準備越獄,他需要散布訊息給監獄中其他人來共同協作,但是監獄中魚龍混雜,分成各個小團體,內部...

數模日記 day7

今天開始嘗試建模,彷彿第一次領悟到模型普適性的一點點邊角。貼一段今天的 草稿。經濟效益 根據中國的用水情況,水資源主要被運用於農業 工業 生產。為了合理量化這兩個因素與水資源的關係。在驗證用水量和工農業產值有顯著相關性之後,設立指標 單位耗水的產值k。某區域內,產業b的單位耗水的產值k 計算方法如下...