专栏文章

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

P14124题解参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@minq3iwn
此快照首次捕获于
2025/12/02 06:30
3 个月前
此快照最后确认于
2025/12/02 06:30
3 个月前
查看原文

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

题目大意(部分翻译来自 Deep seek)

给定多个日语动词的ます形,请将它们转换为て形。

输入格式

第一行包含一个整数 TT,表示测试用例的数量。
接下来 T 行,每行包含一个字符串 ss1s301 \leq s \leq 30),表示一个日语动词的ます形。保证每个动词以以下后缀之一结尾:"chimasu","rimasu","mimasu","bimasu","nimasu","kimasu","gimasu","shimasu"。

输出格式

对于每个测试用例,输出一行,包含对应的动词て形(罗马字表示)。

变形规则

  1. 以 "chimasu" 或 "rimasu" 结尾:去掉后缀,添加 "tte";
  2. 以 "mimasu"、"bimasu" 或 "nimasu" 结尾:去掉后缀,添加 "nde";
  3. 以 "kimasu" 结尾("ikimasu" 除外):去掉后缀,添加 "ite";
  4. 特殊情况:"ikimasu"\rightarrow"itte";
  5. 以 "gimasu" 结尾:去掉后缀,添加 "ide";
  6. 以 "shimasu" 结尾:去掉后缀,添加 "shite"。
依题意模拟即可。

code:

CPP
#include <bits/stdc++.h>
using namespace std;

int main() {
    int T;
    cin>>T;
    while(T--){
        string s;
        cin>>s;
        if (s=="ikimasu") 
            cout<<"itte";
        else if (s.size()>=7&&s.substr(s.size()-7)=="shimasu")
            cout << s.substr(0, s.size()-7)+"shite";
        else if (s.size()>=7&&s.substr(s.size()-7)=="chimasu")
            cout << s.substr(0, s.size()-7)+"tte";
        else{
            string suffix=s.substr(s.size()-6);
            if (suffix=="rimasu")
                cout<<s.substr(0, s.size()-6)+"tte";
            else if(suffix=="mimasu" || suffix=="bimasu" || suffix=="nimasu")
                cout<< s.substr(0,s.size()-6)+"nde";
            else if(suffix=="kimasu")
                cout<<s.substr(0, s.size()-6)+"ite";
            else if(suffix=="gimasu")
                cout<<s.substr(0,s.size()-6)+"ide";
        }
        putchar('\n');
    }
    return 0;
  }

评论

0 条评论,欢迎与作者交流。

正在加载评论...