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

URAL 1893 A380:空客 A380 座位類型判斷(窗口/過道/中間)

     編輯:關於C++

URAL 1893 A380 完整解析

給定座位編號(如 3C, 64A),判斷屬於窗口、過道還是中間座位。空客 A380 雙層佈局規則固定,直接模擬即可。

座位佈局規則

區域排數座位字母窗口過道中間
頭等艙1-2A, B, C, DA, DB, C-
商務艙3-20A-FA, FB, C, D, E-
經濟艙21-65A-K (無 I)A, KC, D, G, HB, E, F, J

完整 AC 程式碼

#include <bits/stdc++.h>
using namespace std;

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    
    string s;
    while (cin >> s) {
        int row = 0;
        for (int i = 0; i < (int)s.size() - 1; i++)
            row = row * 10 + (s[i] - '0');
        char seat = s.back();
        
        if (row <= 2) { // 頭等艙
            if (seat == 'A' || seat == 'D') cout << "window";
            else if (seat == 'B' || seat == 'C') cout << "aisle";
            else cout << "neither";
        } else if (row <= 20) { // 商務艙
            if (seat == 'A' || seat == 'F') cout << "window";
            else if (seat >= 'B' && seat <= 'E') cout << "aisle";
            else cout << "neither";
        } else if (row <= 65) { // 經濟艙
            if (seat == 'A' || seat == 'K') cout << "window";
            else if (seat == 'C' || seat == 'D' || seat == 'G' || seat == 'H') cout << "aisle";
            else cout << "neither";
        } else {
            cout << "neither";
        }
        cout << '\n';
    }
    return 0;
}

範例驗證

3C   → 商務艙 C → aisle
64A  → 經濟艙 A → window
21F  → 經濟艙 F → neither

關鍵點總結

  • 解析座位字串:數字部分為排數,最後一字元為座位字母
  • 經濟艙無 I 字母:A, B, C, D, E, F, G, H, J, K(跳過 I)
  • 過道位置固定:頭等 B/C、商務 B~E、經濟 C/D/G/H
  • 邊界處理:排數超出 1~65 輸出 neither
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved