题解:洛谷 AT_abc437_a Feet
【题目来源】
洛谷:AT_abc437_a [ABC437A] Feet - 洛谷
【题目描述】
\(1\) 英尺等于 \(12\) 英寸。
请问 \(A\) 英尺 \(B\) 英寸等于多少英寸?
【输入】
输入从标准输入读入,下列格式:
\(A\ B\)
【输出】
请在一行输出答案,单位(英寸)省略。
【输入样例】
6 7
【输出样例】
79
【核心思想】
-
问题分析:给定 \(A\) 英尺和 \(B\) 英寸,需要将其转换为总英寸数。由于 \(1\) 英尺 \(= 12\) 英寸,总英寸数即为 \(A \times 12 + B\)。这是一个直接模拟/公式计算问题,无任何算法技巧,关键在于正确理解单位换算关系。
-
算法选择:
- 直接计算:利用单位换算公式 \(total = A \times 12 + B\) 一步得出答案
-
关键步骤:
- 读取输入:读入两个整数 \(A\) 和 \(B\)
- 公式计算:\(ans = A \times 12 + B\)
- 输出结果:打印 \(ans\)
-
时间/空间复杂度:
- 时间复杂度:\(O(1)\),仅一次乘法和一次加法
- 空间复杂度:\(O(1)\),仅需两个整型变量
-
直接模拟的核心思想:
- 问题即答案:题目已给出完整的换算规则,无需抽象或转化,直接套用公式即可
- 单位统一:将复合单位(英尺+英寸)统一为单一单位(英寸),是物理量计算的基础思想
- 适用于规则明确、无分支判断、无循环结构的纯计算类问题
【算法标签】
入门 #模拟
【代码详解】
#include <bits/stdc++.h>
using namespace std;
int a, b; // 定义两个整数变量a和b
int main()
{
// 输入两个整数a和b
cin >> a >> b;
// 计算并输出结果:a * 12 + b
cout << a * 12 + b << endl;
return 0; // 程序正常结束
}
【运行结果】
6 7
79
浙公网安备 33010602011771号