请用go语言实现:剪子布游戏 现在有两个人在玩石头剪子布游戏,请你判断最后谁赢了。用R代表石头,S代表剪子,P代表布。 输入格式: 输入的第一行是一个整数t ,表示测试样例的数目。 每组输入样例的第一行是一个整数n ,表示游戏次数。 接下来n行,每行由两个字母组成,两个字母之间用一个空格分隔,这些字母只会是R,S或P。 第一个字母表示Player1的选择,第二个字母表示Player2的选择。 输出格式: 对于每组输入样例,输出获胜方的名字(Player1或Player2),如果平均,则输出TIE 输出样例: Player2 Player2 TIE
时间: 2024-02-19 20:58:04 浏览: 32
以下是用Go语言实现剪子布游戏的代码:
```go
package main
import "fmt"
func judgeWinner(p1, p2 string) string {
if p1 == p2 {
return "TIE"
}
if (p1 == "R" && p2 == "S") || (p1 == "S" && p2 == "P") || (p1 == "P" && p2 == "R") {
return "Player1"
}
return "Player2"
}
func main() {
var t, n int
fmt.Scan(&t)
for i := 0; i < t; i++ {
fmt.Scan(&n)
p1Win, p2Win := 0, 0
for j := 0; j < n; j++ {
var p1, p2 string
fmt.Scan(&p1, &p2)
winner := judgeWinner(p1, p2)
if winner == "Player1" {
p1Win++
} else if winner == "Player2" {
p2Win++
}
}
if p1Win > p2Win {
fmt.Println("Player1")
} else if p1Win < p2Win {
fmt.Println("Player2")
} else {
fmt.Println("TIE")
}
}
}
```
代码主要分为两个函数:`judgeWinner`和`main`。`judgeWinner`函数用来判断两个玩家的选择,返回获胜方的名字或TIE。`main`函数根据输入的测试样例数,循环读取每组输入样例,统计每组样例中Player1和Player2的胜利次数,最后输出获胜方的名字或TIE。
输入样例:
```
3
5
R P
S R
P S
P R
S S
3
P P
R S
S P
2
R S
P R
```
输出样例:
```
Player2
Player1
TIE
```