题解:洛谷 AT_abc437_a Feet

【题目来源】

洛谷:AT_abc437_a [ABC437A] Feet - 洛谷

【题目描述】

\(1\) 英尺等于 \(12\) 英寸。

请问 \(A\) 英尺 \(B\) 英寸等于多少英寸?

【输入】

输入从标准输入读入,下列格式:

\(A\ B\)

【输出】

请在一行输出答案,单位(英寸)省略。

【输入样例】

6 7

【输出样例】

79

【核心思想】

  1. 问题分析:给定 \(A\) 英尺和 \(B\) 英寸,需要将其转换为总英寸数。由于 \(1\) 英尺 \(= 12\) 英寸,总英寸数即为 \(A \times 12 + B\)。这是一个直接模拟/公式计算问题,无任何算法技巧,关键在于正确理解单位换算关系。

  2. 算法选择

    • 直接计算:利用单位换算公式 \(total = A \times 12 + B\) 一步得出答案
  3. 关键步骤

    • 读取输入:读入两个整数 \(A\)\(B\)
    • 公式计算\(ans = A \times 12 + B\)
    • 输出结果:打印 \(ans\)
  4. 时间/空间复杂度

    • 时间复杂度:\(O(1)\),仅一次乘法和一次加法
    • 空间复杂度:\(O(1)\),仅需两个整型变量
  5. 直接模拟的核心思想

    • 问题即答案:题目已给出完整的换算规则,无需抽象或转化,直接套用公式即可
    • 单位统一:将复合单位(英尺+英寸)统一为单一单位(英寸),是物理量计算的基础思想
    • 适用于规则明确、无分支判断、无循环结构的纯计算类问题

【算法标签】

入门 #模拟

【代码详解】

#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
posted @ 2026-08-27 11:04  团爸讲算法  阅读(3)  评论(0)    收藏  举报