日本語は難しいです!
それは難しくないと思うだけど
传送门
一些吐槽
这题好像恶心了不少学弟啊
其实只要读懂了题就很好做, 对于我这种日语高考生来说确实是有点犯规了不过当时我写的时候不能用翻译一看题面一大串英文就被我pass掉, 后面看到一大堆人过了我才去写来着
说是大模拟也不尽然, 其实就是一个阅读理解题
看了一下学弟的代码, 大多数一大长串的代码
啧啧啧只能说STL用时方恨少啊, 大火还是多学点STL吧
题意
T组数据
每组数据给你一个日语单词的ます型, 你的任务就是将其转化为て型
题中所给的日语单词都是罗马音
下面是ます型和て型的转换规则
“rimasu” (ります) —>“tte”(って)
“mimasu” (みます), “bimasu” (びます), “nimasu” (にます) —>“nde”(んで)
“gimasu” (ぎます) —>“ide”(いで)
“kimasu” (きます) —>“ite”(いて)
“ikimasu” (いきます) —>“itte”(いって)
“himasu” (ひます) —>“shite”(して)
“chimasu” (ります) —>“tte”(って)
做这种题的时候心不要乱, 把所有条件列出来对应起来就好了
做这种题的没有人能做的很快, 除了学过日语的谁都得把题的全部条件挖出来才能ac
我看到很多wa1的同学, 样例都不测一下就交上去, 结果交上去一看wa1白瞎20分钟罚时还搞心态
不过日语生做这种题应该也挺坐牢, 因为一般都是学原型变成其他衍生型, 没有试过衍生型变衍生型的
代码
学好STL!!
void solve()
{
cin>>str;
n=str.size();
cnt=n-6;
if(str.find("rimasu")!=str.npos) str.replace(cnt,6,"tte");
else if(str.find("mimasu")!=str.npos||str.find("bimasu")!=str.npos||str.find("nimasu")!=str.npos) str.replace(cnt,6,"nde");
else if(str.find("gimasu")!=str.npos) str.replace(cnt,6,"ide");
else if(str.find("himasu")!=str.npos)
{
if(str.find("chimasu")!=str.npos) str.replace(cnt-1,7,"tte");
else str.replace(cnt-1,7,"shite");
}
else//if(v=='k')
{
if(str=="ikimasu") str.replace(cnt-1,7,"itte");
else str.replace(cnt,6,"ite");
}
cout<<str<<endl;
return;
}