比赛 |
NOIP2015普及组练习 |
评测结果 |
AAWAAAAAAW |
题目名称 |
字符串编辑 |
最终得分 |
80 |
用户昵称 |
ミント |
运行时间 |
0.011 s |
代码语言 |
C++ |
内存使用 |
0.28 MiB |
提交时间 |
2015-11-05 15:15:16 |
显示代码纯文本
#include <fstream>
#include <algorithm>
#include <string>
#include <cstring>
using namespace std;
ifstream fin("edit.in");
ofstream fout("edit.out");
string str;
char op;
char x, y;
int temp;
bool flag = false;
void fflag()
{
if(flag)
fout<<str;
else
fout<<"error"<<endl;
return ;
}
int main()
{
getline(fin, str);
int lstr = str.length();
//fout<<str<<endl;
fin>>op;
//fout<<op<<endl;
switch(op)
{
case 'D':
{
fin>>x;
for(int i=0;i<lstr;i++)
{
if(str[i]==x)
{
temp = i;
flag = true;
break;
}
}
for(int i=temp;i<lstr;i++)
str[i] = str[i+1];
fflag();
break;
}
case 'I':
{
fin>>x>>y;
for(int i=lstr-1;i>=0;i--)
if(str[i]==x)
{
temp = i;
flag = true;
break;
}
for(int i=lstr;i>temp;i--)
{
str[i] = str[i-1];
//fout<<str[i];
}
//fout<<str[lstr]<<endl;
str[temp] = y;
fflag();
break;
}
case 'R':
{
fin>>x>>y;
for(int i=0;i<lstr;i++)
if(str[i]==x)
{
str[i] = y;
flag = true;
}
fflag();
break;
}
}
if(op=='I')fout<<str[lstr]<<endl;//请无视。
fin.close();
fout.close();
return 0;
}