问题描述
Anton和Danik是两位热爱下棋的朋友。他们在一系列对局中一决胜负,每局只有一个赢家,没有平局。现在,Anton想要知道他是否比Danik赢得更多。给定一系列比赛的结果,你的任务是帮助Anton确定谁赢得更多,或者他们是否打成平手。
输入输出
输入
- 第一行包含一个整数
n
(1 ≤ n ≤ 100,000),表示比赛的场数。 - 第二行包含一个由大写英文字母'A'和'D'组成的字符串
s
,表示每场比赛的结果。如果第i
个字符是'A',则表示Anton赢得了第i
场比赛;如果是'D',则表示Danik赢得了第i
场比赛。
输出
- 如果Anton赢得的比赛比Danik多,输出"Anton"。
- 如果Danik赢得的比赛比Anton多,输出"Danik"。
- 如果Anton和Danik赢得的比赛数量相同,输出"Friendship"。
示例
输入
6
ADAAAA
输出
Anton
输入
7
DDDAADA
输出
Danik
输入
6
DADADA
输出
Friendship
问题分析
这个问题的关键在于比较两个字符'A'和'D'在字符串中出现的次数。我们可以通过遍历字符串并计数来实现这一点。
代码实现
# 读取输入
n = int(input())
games = input()# 计算Anton和Danik赢得比赛的次数
anton_wins = games.count('A')
danik_wins = games.count('D')# 比较并输出结果
if anton_wins > danik_wins:print("Anton")
elif danik_wins > anton_wins:print("Danik")
else:print("Friendship")
代码分析
这段代码首先读取比赛的场数n
和比赛结果的字符串games
。然后,使用Python的count
方法来计算'A'和'D'的出现次数,分别代表Anton和Danik的胜场数。最后,通过比较这两个计数来决定输出结果。
结论
这个问题是一个基础的字符串处理问题,通过简单的计数和比较操作,我们可以快速得出答案。这种方法在处理大量数据时也非常高效。