牛客網-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 計算方法如下...