问题分析
本题本质是比较两个几何图形的面积:正方形面积 S1=a2 和矩形面积 S2=b×c。核心是整数乘法运算和简单比较,需注意数据范围(109)可能导致的整数溢出问题。
解决策略
Alice,否则输出 Bob复杂度分析
cpp1#include <iostream> 2using namespace std; 3 4int main() { 5 // 声明变量(数据范围1e9,需用long long防溢出) 6 long long a, b, c; 7 // 读取输入 8 cin >> a >> b >> c; 9 10 // 计算正方形面积 11 long long S1 = a * a; 12 // 计算矩形面积 13 long long S2 = b * c; 14 15 // 比较面积并输出结果 16 if (S1 > S2) { 17 cout << "Alice" << endl; 18 } else { 19 cout << "Bob" << endl; 20 } 21 return 0; 22}
代码解释:
long long 防止 109 数据导致整数溢出cin 读取三个整数long longpython1def main(): 2 # 读取输入并分割为整数 3 a, b, c = map(int, input().split()) 4 5 # 计算正方形面积 6 S1 = a * a 7 # 计算矩形面积 8 S2 = b * c 9 10 # 比较面积并输出结果 11 if S1 > S2: 12 print("Alice") 13 else: 14 print("Bob") 15 16if __name__ == "__main__": 17 main()
代码解释:
input().split() 分割输入,map(int, ...) 转为整数main() 函数增强代码可读性if __name__ == "__main__" 确保模块化执行| 维度 | C++ 实现 | Python 实现 |
|---|---|---|
| 时间复杂度 | O(1) | O(1) |
| 空间复杂度 | O(1) | O(1) |
| 溢出处理 | 需显式使用 long long | 自动支持大整数 |
| 适用场景 | 超大规模数据竞赛 | 快速原型开发/小规模数据 |
选择建议:
long long 更可控