1. 程式人生 > >【PAT乙級】1076 Wifi密碼

【PAT乙級】1076 Wifi密碼

下面是微博上流傳的一張照片:“各位親愛的同學們,鑑於大家有時需要使用 wifi,又怕耽誤親們的學習,現將 wifi 密碼設定為下列數學題答案:A-1;B-2;C-3;D-4;請同學們自己作答,每兩日一換。謝謝合作!!~”—— 老師們為了促進學生學習也是拼了…… 本題就要求你寫程式把一系列題目的答案按照卷子上給出的對應關係翻譯成 wifi 的密碼。這裡簡單假設每道選擇題都有 4 個選項,有且只有 1 個正確答案。

wifi.jpg

輸入格式:

輸入第一行給出一個正整數 N(≤ 100),隨後 N 行,每行按照 編號-答案 的格式給出一道題的 4 個選項,T 表示正確選項,F 表示錯誤選項。選項間用空格分隔。

輸出格式:

在一行中輸出 wifi 密碼。

輸入樣例:

8 A-T B-F C-F D-F C-T B-F A-F D-F A-F D-F C-F B-T B-T A-F C-F D-F B-F D-T A-F C-F A-T C-F B-F D-F D-T B-F C-F A-F C-T A-F B-F D-F

輸出樣例:

13224143

個人思路

水題略過

實現程式碼

#include <cstdio>
#include <cstring>
#include <string>
#include <set>
#include <cmath>
#include <algorithm>
#include <iostream>
#define ll long long
#define ep 1e-5
#define INF 0x7FFFFFFF

const int maxn = 105;

using namespace std;

int main() {
    int password[maxn], n;
    cin >> n;
    getchar();
    
    // 對n道題的答案進行操作
    for (int i = 0; i < n; i ++) {
        string ans;
        getline(cin, ans);
        int len = int(ans.length());
        // 找到正確答案計算這位的wifi密碼
        for (int j = 0; j < len; j ++) {
            if (ans[j] == 'T') {
                password[i] = ans[j-2] - 'A' + 1;
                break;
            }
        }
    }
    
    // 輸出
    for (int i = 0; i < n; i ++) {
        cout << password[i];
    }
    
    return 0;
}

總結

學習不息,繼續加油