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

· · 题解

P14124 [SCCPC 2021] Nihongo wa Muzukashii Desu

题意

给我们一些单词,按一定的规则转换后输出:

思路

一开始先将特殊情况给考虑了,因为单词结尾后 5 位一定相同,所以我们只需要考虑倒数第 6 位和倒数第 7 位。

当倒数第 6 位不为 h 时,我们直接替换成该替换的规则字母,如果倒数第 6 位为 h,我们就再看倒数第 7 位的数,然后在讨论倒数第 7 位的数。

#include<bits/stdc++.h>
#define int long long
using namespace std;
int t;
string s;
signed main()
{
    ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
    cin>>t;
    while(t--)
    {
        cin>>s;
        if(s=="ikimasu")
        {
            cout<<"itte\n";
            continue;
        }
        char b=s[s.size()-6];
        char c=s[s.size()-7];
        for(int i=0;i<s.size()-7;i++) cout<<s[i]; 
        if(b=='r') cout<<c<<"tte";
        if(b=='m') cout<<c<<"nde";
        if(b=='b') cout<<c<<"nde";
        if(b=='n') cout<<c<<"nde";
        if(b=='k') cout<<c<<"ite";
        if(b=='g') cout<<c<<"ide";
        if(b=='h')
        {
            if(s[s.size()-7]=='c') cout<<"tte";
            else cout<<"shite"; 
        }
        cout<<"\n";
    }
    return 0;
}