1 条题解
-
0
📝 题目大意
高桥队和青木队进行了 场比赛,每场比赛双方各获得一定分数。将 场比赛的分数分别求和,总分高者获胜,总分相等则为平局。输出获胜队伍名称或
Draw。💡 解题思路
- 题目分析: 最多为 , 在 到 之间,因此总分最大为 ,完全在
int范围内。本题只需分别累加两队分数,然后比较大小即可。 - 算法推导:
- 用
sumT和sumA分别记录高桥队和青木队的总分(初始为 )。 - 遍历 次,每次读入 ,将 累加到
sumT, 累加到sumA。 - 比较
sumT与sumA:- 若
sumT > sumA,输出"Takahashi"; - 若
sumT < sumA,输出"Aoki"; - 否则输出
"Draw"。
- 若
- 用
- 边界与细节:
- 双方分数均为 时(如样例 3 的第一轮),不影响比较结果,程序正常处理。
- 总分正好相等时走
else分支输出Draw,注意字符串拼写不要出错。
⏱️ 复杂度分析
- 时间复杂度:,只需一次遍历。
- 空间复杂度:,仅使用常数个变量。
💻 标准代码 (C++)
#include <iostream> using namespace std; int main() { int N; cin >> N; int sumT = 0, sumA = 0; // 分别记录高桥队和青木队的总分 for (int i = 0; i < N; i++) { int X, Y; cin >> X >> Y; sumT += X; // 累加高桥队的分数 sumA += Y; // 累加青木队的分数 } if (sumT > sumA) { cout << "Takahashi" << endl; } else if (sumT < sumA) { cout << "Aoki" << endl; } else { cout << "Draw" << endl; // 总分相等,平局 } return 0; } - 题目分析: 最多为 , 在 到 之间,因此总分最大为 ,完全在
- 1
信息
- ID
- 766
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- (无)
- 递交数
- 1
- 已通过
- 1
- 上传者