【CSP】CSP-J 2019 江西真题 | 面积 luogu-P5681 (适合GESP一级、二级考生练习)

四季读书网 1 0
【CSP】CSP-J 2019 江西真题 | 面积 luogu-P5681 (适合GESP一级、二级考生练习)
【CSP】CSP-J 2019 江西真题 | 面积 luogu-P5681 (适合GESP一级、二级考生练习) 第1张科普类资源清单【CSP】CSP-J 2019 江西真题 | 面积 luogu-P5681 (适合GESP一级、二级考生练习) 第2张
信奥业余科普

【CSP】CSP-J 2019 江西真题 | 面积 luogu-P5681 (适合GESP一级、二级考生练习) 第3张【CSP】CSP-J 2019 江西真题 | 面积 luogu-P5681 (适合GESP一级、二级考生练习) 第4张GESP学习资源清单【CSP】CSP-J 2019 江西真题 | 面积 luogu-P5681 (适合GESP一级、二级考生练习) 第5张【CSP】CSP-J 2019 江西真题 | 面积 luogu-P5681 (适合GESP一级、二级考生练习) 第6张

真题
练习题
考纲解析
一级真题解析一级练习题清单【CSP】CSP-J 2019 江西真题 | 面积 luogu-P5681 (适合GESP一级、二级考生练习) 第7张111-8级全考纲解析
二级真题解析二级练习题清单GESP/CSP必备技能
三级真题解析三级练习题清单考纲解密
四级真题解析四级练习题清单资源汇总/经验交流
五级真题解析五级练习题清单
六级真题解析六级练习题清单


【CSP】CSP-J 2019 江西真题 | 面积 luogu-P5681 (适合GESP一级、二级考生练习) 第8张【CSP】CSP-J 2019 江西真题 | 面积 luogu-P5681 (适合GESP一级、二级考生练习) 第9张CSP学习资源清单【CSP】CSP-J 2019 江西真题 | 面积 luogu-P5681 (适合GESP一级、二级考生练习) 第10张【CSP】CSP-J 2019 江西真题 | 面积 luogu-P5681 (适合GESP一级、二级考生练习) 第11张

CSP-XL
CSP-J
2025辽宁CSP-XL复赛真题解析CSP-J 真题解析

【CSP】CSP-J 2019 江西真题 | 面积 luogu-P5681 (适合GESP一级、二级考生练习) 第12张【CSP】CSP-J 2019 江西真题 | 面积 luogu-P5681 (适合GESP一级、二级考生练习) 第13张NOI学习资源清单【CSP】CSP-J 2019 江西真题 | 面积 luogu-P5681 (适合GESP一级、二级考生练习) 第14张【CSP】CSP-J 2019 江西真题 | 面积 luogu-P5681 (适合GESP一级、二级考生练习) 第15张
NOIP
1998年真题解析‍‍
1999年真题解析
2001年真题解析‍‍
2011年真题解析

CSP-J 2019江西省真题- 面积,基本的四则运算与分支结构考点,重点考察对于数据范围带来的整型溢出问题的理解与防范,适合GESP一级、二级及以上考生练习,难度☆,洛谷难度等级入门

P5681 [CSP-J 2019 江西] 面积

题目要求

题目描述

Alice 有一个边长为  的正方形,Bob 有一个长宽分别为  的矩形,请你告诉他们俩谁的图形面积更大。

输入格式

仅一行三个正整数 

输出格式

输出仅一行一个字符串,若正方形面积大则输出 Alice,否则输出 Bob

输入输出样例 #1

输入 #1
5 4 6
输出 #1
Alice

输入输出样例 #2

输入 #2
7 5 10
输出 #2
Bob

说明/提示

【数据范围】

对于  的数据,对于  的数据,对于  的数据,

【样例 1 解释】

正方形面积为 ,矩形面积为 

【样例 2 解释】

正方形面积为 ,矩形面积为 


题目分析

本题是一道非常基础的计算与条件判断题,要求我们根据给定的边长,计算正方形与矩形的面积,并进行大小比较。

解题思路分析:

  1. 计算面积

    • Alice 拥有边长为  的正方形,面积公式为 
    • Bob 拥有长宽为  的矩形,面积公式为 
    • 分别将它们计算出来即可。
  2. 逻辑判断

    • 题目要求如果正方形面积,输出 Alice
    • 否则(即正方形面积小于等于矩形面积),输出 Bob
    • 因此可以使用简单的 if (a * a > b * c) 分支结构来实现。

避坑指南(关键点):

这道题看似简单,但蕴含着初学者极其容易踩的陷阱——数据溢出(Integer Overflow)。

观察题目的【数据范围】:对于  的数据,。 如果我们把变量  声明为普通的 32 位整型且用 int 保存: 在 C++ 中,int 类型最大只能存到接近  的数字(准确地说是 )。 当  时,计算面积 ,这个数字已经远远超过 int 所能容纳的极限。系统将会发生溢出现象,算出一个完全错误的负数或乱码数字,导致我们的前后判定出错!

因此,为了存放高达  级别的数据,我们需要使用 64 位的长整型变量 long long 来定义这些边长变量,long long 最大能安全存放约  的数据,足以满足本题不溢出的要求。


示例代码

#include<iostream>intmain(){    // 关键点:用 long long 声明变量,防止相乘时结果溢出 int 的范围    long long a, b, c;    // 输入边长数据    std::cin >> a >> b >> c;    // 计算面积并比较。因为 a, b, c 都是 long long,相乘的结果也会自动使用 64 位无损保存    long long area_alice = a * a;    long long area_bob = b * c;    // 若正方形面积"大"则输出 Alice,否则输出 Bob    if (area_alice > area_bob) {        std::cout << "Alice" << std::endl;    } else {        std::cout << "Bob" << std::endl;    }    return 0;}

【推荐】【GESP】C++ 认证学习资源汇总(2026年3月更新)

【推荐】GESP/CSP/NOI资料站https://wiki.coderli.com/

【推荐】GESP/CSP学习交流群

【CSP】CSP-J 2019 江西真题 | 面积 luogu-P5681 (适合GESP一级、二级考生练习) 第16张

luogu-”系列题目可在洛谷题库进行在线评测。

bcqm-”系列题目可在编程启蒙题库进行在线评测。

抱歉,评论功能暂时关闭!