题解:P14124 [SCCPC 2021] Nihongo wa Muzukashii Desu

· · 题解

野生的红题!

因为本题不会提供以“imasu”结尾的词,并且只会提供以“masu”结尾的词,所以只要判断几个特征字母(例如 ch,sh 等等)就行了。

如果怕麻烦可以写个函数减少码量。

AC Code:

#include<bits/stdc++.h>
using namespace std;
void print(string s,bool node){
    int len=s.length();
    if(node) len-=7;
    else len-=6;
    for(int i=0;i<len;++i) cout<<s[i];
    return;
}
int main(){
    int t;
    scanf("%d",&t);
    while(t--){
        string s;
        cin>>s;
        if(s=="ikimasu"){
            cout<<"itte\n";
            continue;
        }
        int n=s.length();
        if(s[n-7]=='c'&&s[n-6]=='h'){
            print(s,1);
            cout<<"tte\n";
        }else if(s[n-7]=='s'&&s[n-6]=='h'){
            print(s,1);
            cout<<"shite\n";
        }else if(s[n-6]=='k'){
            print(s,0);
            cout<<"ite\n";
        }else if(s[n-6]=='m'||s[n-6]=='b'||s[n-6]=='n'){
            print(s,0);
            cout<<"nde\n";
        }else if(s[n-6]=='g'){
            print(s,0);
            cout<<"ide\n";
        }else if(s[n-6]=='r'){
            print(s,0);
            cout<<"tte\n";
        }
    } 
    return 0;
}