牌只有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。示例1
1223344556667733
yes題目涉及五類輸入情況,可以使用switch case進行五模擬較,每模擬較均是通過對兩個字串中數字的比較,這裡可以設定乙個count陣列,用於計數每個數出現的次數,並設定乙個標記陣列,用於表明該數是否出現過,因此每次比較就只需要將這兩個陣列對應a[j]-'0'出的數值與b陣列中的資料進行比較。
#include #includeusing namespace std;
int main()
for(int i=0;i=1&&flag[a[j]-'0']==true)
//表示有滿足的牌
f=1;
}}break;
case 2:
for(int i=0;i<10;i++)
}break;
case 3:
for(int i=0;i<10;i++)
}break;
case 4:
for(int i=0;i<10;i++)
}break;
case 5:
for(int i=1;i<=5;i++){
for(int j=0;j還有一點需要注意的是,a,b兩個字串使用的是char型陣列,長度的獲取是通過 strlen(a) 獲得,而不能通過a.size() 或者a.length()獲得
北郵複試機試之找最小數
第一行輸入乙個數n,1 n 1000,下面輸入n行資料,每一行有兩個數,分別是x y。輸出一組x y,該組資料是所有資料中x最小,且在x相等的情況下y最小的。輸入有多組資料。每組輸入n,然後輸入n個整數對。輸出最小的整數對。示例1 5 3 3 2 2 5 5 2 1 3 62 1思路簡單,方法一 兩...
北郵OJ打牌
牌只有1到9,手裡拿著已經排好序的牌a,對方出牌b,用程式判斷手中牌是否能夠壓過對方出牌。規則 出牌牌型有5種 1 一張 如4 則5.9可壓過 2 兩張 如44 則55,66,77,99可壓過 3 三張 如444 規則如 2 4 四張 如4444 規則如 2 5 五張 牌型只有12345 23456...
2010北郵複試網研上機題 打牌
最近利用空餘時間也練習了將近乙個月的acm,重新回來看這篇當時的部落格,發現 錯誤百出,在九度 上重新 了這道題,上 給大家看 牌只有1到9,手裡拿著已經排好序的牌a,對方出牌b,用程式判斷手中牌是否能夠壓過對方出牌。規則 出牌牌型有5種 1 一張 如4 則5.9可壓過 2 兩張 如44 則55,6...