剪刀石頭布(map 迴圈結)

2021-10-07 19:02:44 字數 2561 閱讀 2120

現給出兩人的交鋒記錄,請統計雙方的勝、平、負次數,並且給出雙方分別出什麼手勢的勝算最大。

輸入格式:

輸入第 1 行給出正整數 n(≤10​5​​ ),即雙方交鋒的次數。隨後 n 行,每行給出一次交鋒的資訊,即甲、乙雙方同時給出的的手勢。c 代表「錘子」、j 代表「剪刀」、b 代表「布」,第 1 個字母代表甲方,第 2 個代表乙方,中間有 1 個空格。

輸出格式:

輸出第 1、2 行分別給出甲、乙的勝、平、負次數,數字間以 1 個空格分隔。第 3 行給出兩個字母,分別代表甲、乙獲勝次數最多的手勢,中間有 1 個空格。如果解不唯一,則輸出按字母序最小的解。

輸入樣例:

10c j

j bc b

b bb c

c cc b

j bb c

j j輸出樣例:

5 3 2

2 3 5

b b作者

chen, yue

單位浙江大學

**長度限制

16 kb

時間限制

200 ms

記憶體限制

**法一:**分類討論

#include

#define ll long long

#define clk_tck 100

using

namespace std;

intrule

(char a,

char b)

else

if(a ==

'b'&& b ==

'j')

//b & c

if(a ==

'b'&& b ==

'c')

else

if(a ==

'c'&& b ==

'b')

// c & j

if(a ==

'c'&& b ==

'j')

else

if(a ==

'j'&& b ==

'c')

}int

main

(void

)else

if(ans ==2)

else

} cout << cnta <<

" "<< cntc <<

" "<< cntb << endl;

cout << cntb <<

" "<< cntc <<

" "<< cnta << endl;

int a[3]

=;int b[3]

=;sort

(a, a+3)

;sort

(b, b+3)

;for

(map<

char

,int

>

::iterator it = m.

begin()

; it != m.

end(

); it++)}

for(map<

char

,int

>

::iterator t = n.

begin()

; t != n.

end(

); t++)}

}

法二:設立迴圈結

#include

#define ll long long

#define clk_tck 100

using

namespace std;

intchange

(char c)

else

if(c ==

'c')

else

}int

rule

(char a,

char b)

else

}int

main

(void

)else

if(ans ==2)

else

} cout << cnta <<

" "<< cntc <<

" "<< cntb << endl;

cout << cntb <<

" "<< cntc <<

" "<< cnta << endl;

int a[3]

=;int b[3]

=;sort

(a, a+3)

;sort

(b, b+3)

;for

(map<

char

,int

>

::iterator it = m.

begin()

; it != m.

end(

); it++)}

for(map<

char

,int

>

::iterator t = n.

begin()

; t != n.

end(

); t++)}

}

剪刀石頭布

開始學習時寫的剪刀石頭布 雖然是用c 寫的 我感覺思想還是面向過程 慚愧慚愧 include include include include includeusing namespace std enum caiquan class inte cet inte cet inte cet system...

石頭剪刀布

題目描述 石頭剪刀布是常見的猜拳遊戲 石頭勝剪刀,剪刀勝布,布勝石頭。如果兩個人出拳一樣,則不分勝負。在 生活大 第二季第 8 集中出現了一種石頭剪刀布的公升級版遊戲。公升級版遊戲在傳統的石頭剪刀布遊戲的基礎上,增加了兩個新手勢 斯波克 星際迷航 主角之一。蜥蜴人 星際迷航 中的反面角色。這五種手勢...

剪刀石頭布

現在一共有 n個人 分別記為 1,2,n 在玩剪刀石頭布,如果知道他們每個人都出了什麼,你能找出來誰是 winner嗎?當且僅當乙個人可以贏其他所有人時,才稱這個人是 winner。我們將剪刀記作 2,石頭記作 0,布記作 5,那麼勝負關係就應當是2能贏 5,5能贏 0,0能贏 2。input 輸入...