ZeroJudge A466: One-Two-Three

題目敘述

每筆資料第一行有一個正整數N,借下來會有N行每行有一個字串。要求輸出在可以有一個字元寫錯的情況下這是什麼數字,答案只有1、2、3,字串長度不會有改變。


範例輸入

3

owe

too

theee

範例輸出

1

2

3


解題思路

3這個答案可以直接判斷字串長度是否為5直接輸出。剩下的兩個其實組合方式只有6種,將這六種寫成if判斷式即可。

解題程式碼如下 (僅供參考):

#include <iostream>
using namespace std;

int main() {
    cin.sync_with_stdio(0);
    cin.tie(0);
    int N;
    cin >> N;
    for (int i = 0; i<N; i++)
    {
        string str;
        cin >> str;
        if (str.length() == 5) cout << 3 << "\n";
        else
        {
            if (str[0] == 'o' && str[1] == 'n') cout << 1 << "\n";
            else if (str[1] == 'n' && str[2] == 'e') cout << 1 << "\n";
            else if (str[2] == 'e' && str[0] == 'o') cout << 1 << "\n";
            if (str[0] == 't' && str[1] == 'w') cout << 2 << "\n";
            else if (str[1] == 'w' && str[2] == 'o') cout << 2 << "\n";
            else if (str[2] == 'o' && str[0] == 't') cout << 2 << "\n";
        }
    }
}

留言

這個網誌中的熱門文章

ZeroJudge M933: 邏輯電路

ZeroJudge A148: You Cannot Pass?!

ZeroJudge A263: 日期差幾天