比赛 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;
}