結果
| 問題 |
No.725 木は明らかに森である
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2018-08-24 21:47:19 |
| 言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
AC
|
| 実行時間 | 2 ms / 2,000 ms |
| コード長 | 929 bytes |
| コンパイル時間 | 709 ms |
| コンパイル使用メモリ | 64,640 KB |
| 実行使用メモリ | 5,376 KB |
| 最終ジャッジ日時 | 2024-06-23 07:02:34 |
| 合計ジャッジ時間 | 1,166 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 9 |
ソースコード
#include <iostream>
#include <string>
using namespace std;
int Replace(string& ReplaceString, const char* srcStr, const char* trgStr,int repPos)
{
string from = srcStr;
string to = trgStr;
int RepPos=1;
size_t srcStrLen = from.length();
size_t trgStrLen = to.length();
string::size_type pos = 0;
while (pos = ReplaceString.find(from, pos), pos != string::npos) {
if (repPos==0){
if (trgStrLen==0){
ReplaceString.erase(pos,srcStrLen);
}else{
ReplaceString.replace(pos, srcStrLen, to);
}
}else{
if (RepPos==repPos){
if (trgStrLen==0){
ReplaceString.erase(pos,srcStrLen);
}else{
ReplaceString.replace(pos, srcStrLen, to);
}
break;
}else{
RepPos++;
}
}
if (trgStrLen==0){
pos += srcStrLen;
}else{
pos += trgStrLen;
}
}
return 0;
}
int main(int argc, char* argv[])
{
string S;
cin>>S;
Replace(S,"treeone","forest",0);
cout<<S<<endl;
return 0;
}