三張牌比大小

2021-10-10 08:46:41 字數 1568 閱讀 6896

由於兩個同學學習了很久,想要打牌放鬆一下,但是他們兩個眼睛有點花了,看不清牌的花色,只看得清牌的點數。所以他們改良了一了規則。

規則如下:

1.不分花色,只有牌的點數(2-10)

2.每個人三張牌,一共有4種牌型,按牌型大小排序如下:

(1)三同:三張牌點數相同,如6 6 6,8 8 8

(2)順子:三張牌點數連續,如3 4 5,5 6 7

(3)對子:兩張牌點數相同,另一張不同,如2 3 3,7 7 8

(4)單牌:三張牌點數都不同,且不連續,如2 3 5,9 4 7

3.牌型不同則牌型大的贏,否則按如下規則比較:

(1)三同:直接比較大小,如果相同則平局

(2)順子:比較最大點數的大小,如果相同則平局

(3)對子:比較對子的大小,如果相同比較單牌的大小,如果都相同則平局

(4)單牌:先比較最大的牌,如果相同比較第二大的牌,如果相同則比較最小的牌,如果都相同則平局

你作為裁判需要判斷誰是勝利者。

第一行輸入乙個整數t,代表有t組測試資料,

對於每組測試資料,

輸入連續6個整數,a,b,c,d,e,f,其中a,b,c代表bentutut的牌,其中d,e,f代表xxl的牌

1<=t<=1000

2<=a,b,c,d,e,f<=10

對於每組測試資料,如果bentutut勝利則輸出"bentutut win!",如果xxl勝利則輸出"xxl win!",否則輸出"no winner!"

並且對於每組資料,答案佔單獨的一行。

ps:請輸出雙引號內的所有內容,並且請勿輸出雙引號!

723

4345

3336

6623

5236

2232

24101092

3422

28910

7777

77

xxl win!

xxl win!

xxl win!

xxl win!

xxl win!

bentutut win!

no winner!

遇到的問題:

1.比較的規則看起來很複雜,但歸納一下:

因此可以用乙個排序函式將牌從小到大理順,

牌型最大的每張牌加上30,次大的加上20……

這樣牌型大的就對牌型小的有絕對優勢

2.三個整數比大小的簡便方法:

if

(a>b)t=a,a=b,b=c;

if(b>c)t=b,b=c,c=t;

if(a>b)t=a,a=b,b=c;

**如下

#include

intorder

(int a)

intbattle

(int a,

int b)

else

if(a[i]

return count;

}int

main()

for(i=

0;i)}

(題解)7 4 兩張牌比大小

現在有一種牌的玩法如下 共36張牌,牌點為2 10,每樣4張。兩個人玩,每人從所有牌中取兩張,然後比較大小,大的方獲勝。比較大小規則如下。1 兩張牌的總牌點值為兩張牌的各自牌點值相加後除以10的餘數,如一張5一張6,則總牌點為1 2 比較大小時,比較的是總牌點兒。也就是說總牌點大的一方獲勝 3 當總...

NYOJ 題目73 比大小

描述 給你兩個很大的數,你能不能判斷出他們兩個數的大小呢?比如123456789123456789要大於 123456 輸入 每組測試資料佔一行,輸入兩個不超過1000位的10進製整數a,b 資料保證輸入的a,b沒有字首的0。如果輸入0 0表示輸入結束。測試資料組數不超過10組 輸出如果a b則輸出...

java中String比大小

有三種方法實現 第一種直接用字串類的compareto方法 string t1 20131011 string t2 20131030 int result t1.compareto t2 第二種是把這個日期字串轉換成long dateformat sdf new dateformat yyyymm...