首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C++ >> 關於C++

HDU 1037 Keep on Truckin' 解題詳解

     編輯:關於C++

問題描述

Boudreaux 和 Thibodeaux 駕駛一輛 18 輪卡車運送貨物,路經三座地下通道。卡車高度為 168 英吋。輸入三個整數,分別代表三座地下通道的高度(單位:英吋,範圍 0~300)。若卡車高度嚴格小於所有通道高度,輸出 NO CRASH;否則輸出 CRASH X,其中 X 是第一個導致碰撞的通道高度(即該通道高度 ≤ 168)。

解題思路

本題屬於簡單的模擬題。讀取三個整數 h1, h2, h3,依序檢查是否 ≤ 168。若發現第一個不滿足條件的通道,立即輸出碰撞資訊;若三個通道皆高於 168,則輸出安全通過。

參考代碼 (C++)

#include <iostream>
using namespace std;

int main() {
    int h1, h2, h3;
    while (cin >> h1 >> h2 >> h3) {
        if (h1 <= 168) {
            cout << "CRASH " << h1 << endl;
        } else if (h2 <= 168) {
            cout << "CRASH " << h2 << endl;
        } else if (h3 <= 168) {
            cout << "CRASH " << h3 << endl;
        } else {
            cout << "NO CRASH" << endl;
        }
    }
    return 0;
}

複雜度分析

時間複雜度 O(1),空間複雜度 O(1)。

測試範例

輸入:
180 160 170

輸出:
CRASH 160

解析:第一個通道 180 > 168 安全,第二個通道 160 ≤ 168 發生碰撞,輸出 CRASH 160。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved