1. 程式人生 > >題解 UVA12289 【One-Two-Three】

題解 UVA12289 【One-Two-Three】

看了一遍題解,竟然還沒人用我這隻蒟蒻的蒻辦法,那我就發一下嘍。~~弱得很,大佬莫踩~~
沒什麼講的,就是一個人寫英文單詞,每個單詞最多錯一個,但單詞長度不會錯,
因此one的程式碼如下:

if(number[0]=='o'&&number[2]=='e'||number[0]=='o'&&number[1]=='n'||number[1]=='n'&&number[2]=='e')//列舉one中的任意兩個字母
    cout<<"1"<<endl;//是one

two:

if(number[0]=='t'&&number[2]=='o'||number[0]=='t'&&number[1]=='w'||number[1]=='w'&&number[2]=='o')//列舉two中的任意兩個字母
    cout<<"2"<<endl;//是two

three:

if(number.length()==5)//因為three的長度特殊,所以只判斷長度就行了
    cout<<"3"<<endl;//是three

 


完整程式碼:

#include<iostream>//標頭檔案
#include<string>
using namespace std;//名稱空間
int main()//主函式
{
    int n;//定義
    cin>>n;//輸入資料
    for(int i=0;i<n;i++)
    {
        string number;
        cin>>number;//輸入
    }
    if(number[0]=='o'&&number[2]=='e'||number[0]=='o'&&number[1]=='n'||number[1]=='n'&&number[2]=='e')//列舉one中的任意兩個字母
            cout<<"1"<<endl;//是one
        else
        if(number[0]=='t'&&number[2]=='o'||number[0]=='t'&&number[1]=='w'||number[1]=='w'&&number[2]=='o')//列舉two中的任意兩個字母
            cout<<"2"<<endl;//是two
        else
        if(number.length()==5)//因為three的長度特殊,所以只判斷長度就行了
            cout<<"3"<<endl;//是three
    }
    return 0;
}

&n