Go编写剪子布游戏 现在有两个人在玩石头剪子布游戏,请你判断最后谁赢了。用R代表石头,S代表剪子,P代表布。 输入格式: 输入的第一行是一个整数t ,表示测试样例的数目。 每组输入样例的第一行是一个整数n ,表示游戏次数。 接下来n行,每行由两个字母组成,两个字母之间用一个空格分隔,这些字母只会是R,S或P。 第一个字母表示Player1的选择,第二个字母表示Player2的选择。 输出格式: 对于每组输入样例,输出获胜方的名字(Player1或Player2),如果平均,则输出TIE。
时间: 2024-02-20 12:56:06 浏览: 25
好的,这是一个比较简单的问题,我可以帮你写一份代码实现它。以下是 Go 编写的答案:
```go
package main
import "fmt"
func main() {
var t int
fmt.Scan(&t)
for i := 0; i < t; i++ {
var n int
fmt.Scan(&n)
p1Win, p2Win := 0, 0
for j := 0; j < n; j++ {
var p1, p2 string
fmt.Scan(&p1, &p2)
if p1 == "R" && p2 == "S" ||
p1 == "S" && p2 == "P" ||
p1 == "P" && p2 == "R" {
p1Win++
} else if p1 == p2 {
continue
} else {
p2Win++
}
}
if p1Win > p2Win {
fmt.Println("Player1")
} else if p1Win < p2Win {
fmt.Println("Player2")
} else {
fmt.Println("TIE")
}
}
}
```
这个代码思路比较简单,就是针对每一组输入,循环 `n` 次,每次判断两个玩家的出拳情况,如果有一个玩家胜出,就增加相应的胜出次数,循环结束之后比较两个玩家的胜出次数,输出胜出者的名字或者平局的提示。