現給出兩人的交鋒記錄,請統計雙方的勝、平、負次數,並且給出雙方分別出什麼手勢的勝算最大。
輸入格式:
輸入第 1 行給出正整數 n(≤105),即雙方交鋒的次數。隨後 n 行,每行給出一次交鋒的資訊,即甲、乙雙方同時給出的的手勢。c
代表「錘子」、j
代表「剪刀」、b
代表「布」,第 1 個字母代表甲方,第 2 個代表乙方,中間有 1 個空格。
輸出格式:
輸出第 1、2 行分別給出甲、乙的勝、平、負次數,數字間以 1 個空格分隔。第 3 行給出兩個字母,分別代表甲、乙獲勝次數最多的手勢,中間有 1 個空格。如果解不唯一,則輸出按字母序最小的解。
輸入樣例:
10
c jj b
c bb b
b cc c
c bj b
b cj j
輸出樣例:
5 3 2
2 3 5
b b
給你乙個n ,後面有n組遊戲的手勢,讓你分別求出來這兩個人勝,平,負各有多少局,然後再計算出這兩個人用什麼手勢贏的局數最多;注意輸出格式;
就是一道簡單的模擬題,最近腦袋有點混沌,**寫完後自己定睛一看,什麼東西,看不懂;什麼思路,不知道;陣列存什麼東西,不清楚。。。。。。。
把每一種情況都模擬一下,用陣列記錄結果,一定要細心,不然容易把自己繞進去。。。。。淚目。。。。
只需要計算出來乙個人的勝,平,負,另乙個人和他相反;
#include#include#includeusing namespace std;
struct node
a[101000];
int n;
int q[4];//記錄第乙個人勝利的情況;q[1],q[2],q[3]分別代表用錘子,剪刀,布贏的次數;
int p[4];//記錄第二個人勝利的情況;p[1],p[2],p[3]分別代表用錘子,剪刀,布贏的次數;
int s[4];//記錄第乙個人的勝,平,負局的情況;s[1],s[2],s[3]分別代表勝,平,負局;
void solve1()//查詢第乙個人勝的次數最多的手勢;
if(q[2]>maxx)
if(flag==1)
printf("c ");
else if(flag==2)
printf("j ");
else if(flag==3)
printf("b ");
return ;
}void solve2()//查詢第二個人勝利次數最多的手勢;同上;
if(p[2]>maxx)
if(flag==1)
printf("c\n");
else if(flag==2)
printf("j\n");
else if(flag==3)
printf("b\n");
return ;
}int main()
return 0;
}
PAT乙1018 錘子剪刀布 20
題目在這裡 時間限制 100 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 chen,yue 大家應該都會玩 錘子剪刀布 的遊戲 兩人同時給出手勢,勝負規則如圖所示 現給出兩人的交鋒記錄,請統計雙方的勝 平 負次數,並且給出雙方分別出什麼手勢的勝算最大...
1018 錘子剪刀布 (20 分)
填坑日記 本題我沒進坑哈哈哈哈 includeusing namespace std int main y 3 ej 3 ey 3 maxj,maxy cin n for i a b if a b b c 甲贏 else if a c b j 甲贏 else if a j b b 甲贏 else i...
1018 錘子剪刀布 (20 分
現給出兩人的交鋒記錄,請統計雙方的勝 平 負次數,並且給出雙方分別出什麼手勢的勝算最大。輸入第 1 行給出正整數 n 10 5 即雙方交鋒的次數。隨後 n 行,每行給出一次交鋒的資訊,即甲 乙雙方同時給出的的手勢。c代表 錘子 j代表 剪刀 b代表 布 第 1 個字母代表甲方,第 2 個代表乙方,中...