// 採用相減將結果存入陣列的方法進行統,甲用絕對值記錄,乙用絕對值加10記錄好了
// 甲勝情況,b - c = -1,c - j = -7,j - b = 8;
// 不能使用map,因為可能出現多次完全一樣的情況。
// 獲勝的手勢bcj公升序剛好對應序號1、7、8公升序,所以倒著遍歷,正好輸出字母排序最小的結果。如果不是的話,估計會很麻煩。
#include
#include
using
namespace std;
intmain()
, cha, sheng=
0, ping=
0, fu=
0, max1=
0, max2=0;
char c1, c2, max1c, max2c;
cin >> n;
while
(n--
) ping = rec[0]
; sheng = rec[7]
+ rec[8]
+ rec[1]
; fu = rec[17]
+ rec[18]
+ rec[11]
;for
(int i =
10; i >
0; i--)}
for(
int j =
19; j >
10; j--)}
printf
("%d %d %d\n"
, sheng, ping, fu)
;printf
("%d %d %d\n"
, fu, ping, sheng)
;printf
("%c %c"
, max1c, max2c)
;return0;
}
減少了重複**,但是可讀性下降了點。
#include
#include
using
namespace std;
intmain()
, cha, sheng, ping, fu, max[2]
=;char c1, c2, maxc[2]
; cin >> n;
while
(n--
) sheng=
0, ping=
0, fu=0;
ping = rec[0]
; sheng = rec[7]
+ rec[8]
+ rec[1]
; fu = rec[17]
+ rec[18]
+ rec[11]
;int a =2;
while
(a--)}
}printf
("%d %d %d\n"
, sheng, ping, fu)
;printf
("%d %d %d\n"
, fu, ping, sheng)
;printf
("%c %c"
, maxc[0]
, maxc[1]
);return0;
}
1018 錘子剪刀布,C
include intmain char b 1000 int i 0,c1 0,c2 0,c3 0,d1 0,d2 0,d3 0,j 0,h 0,n int cc 0,cb 0,cj 0,dc 0,db 0,dj 0,m 0 scanf d n n while n 1 n 1是為了減少一次輸入,在...
1018 錘子剪刀布
大家應該都會玩 錘子剪刀布 的遊戲 兩人同時給出手勢,勝負規則如圖所示 現給出兩人的交鋒記錄,請統計雙方的勝 平 負次數,並且給出雙方分別出什麼手勢的勝算最大。輸入格式 輸入第1行給出正整數n 105 即雙方交鋒的次數。隨後n行,每行給出一次交鋒的資訊,即甲 乙雙方同時給出的的手勢。c代表 錘子 j...
1018 錘子剪刀布
輸入格式 輸入第1行給出正整數n 105 即雙方交鋒的次數。隨後n行,每行給出一次交鋒的資訊,即甲 乙雙方同時給出的的手勢。c代表 錘子 j代表 剪刀 b代表 布 第1個字母代表甲方,第2個代表乙方,中間有1個空格。輸出格式 輸出第1 2行分別給出甲 乙的勝 平 負次數,數字間以1個空格分隔。第3行...