题解:P14124 [SCCPC 2021] Nihongo wa Muzukashii Desu
题解:P14124 [SCCPC 2021] Nihongo wa Muzukashii Desu
题目大意(部分翻译来自 Deep seek)
给定多个日语动词的ます形,请将它们转换为て形。
输入格式
第一行包含一个整数
接下来 T 行,每行包含一个字符串
输出格式
对于每个测试用例,输出一行,包含对应的动词て形(罗马字表示)。
变形规则
- 以 "chimasu" 或 "rimasu" 结尾:去掉后缀,添加 "tte";
- 以 "mimasu"、"bimasu" 或 "nimasu" 结尾:去掉后缀,添加 "nde";
- 以 "kimasu" 结尾("ikimasu" 除外):去掉后缀,添加 "ite";
- 特殊情况:"ikimasu"
\rightarrow "itte"; - 以 "gimasu" 结尾:去掉后缀,添加 "ide";
- 以 "shimasu" 结尾:去掉后缀,添加 "shite"。
依题意模拟即可。
code:
#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;
}